今天在新搞来的阿里云的服务器里安装MySQL8,记录一下过程:
这是MySQL的官网和下载地址:MySQL :: Download MySQL Community Server (Archived Versions)
1. 先进入安装目录
cd /usr/local
2. 安装
wget https://downloads.mysql.com/archives/get/p/23/file/mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
3.解压
tar -xvf mysql-8.0.26-linux-glibc2.12-x86_64.tar.xz
4.修改文件夹名称
mv mysql-8.0.26-linux-glibc2.12-x86_64 mysql
5. 进入mysql目录之中
cd /usr/local/mysql/
6. 创建数据存放目录
mkdir data
7. 创建用户组和用户
创建mysql用户组和mysql用户,使用命令:
groupadd mysql
useradd -g mysql mysql
8. 修改MySQL的目录权限
chown -R mysql.mysql /usr/local/mysql/
9. 数据库初始化,获取MySQL的默认登陆密码
./bin/mysqld --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --initialize
10. 修改数据库的配置文件
我们在/etc目录下找到my.cnf文件并打开(我这里直接使用finalshell打开文件,也可以使用:vim /etc/my.cnf 打开)
修改内容:
[mysqld]
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
socket=/usr/local/mysql/mysql.sock
character-set-server=utf8
port=3306
sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES
[client]
socket=/usr/local/mysql/mysql.sock
default-character-set=utf8
11. 创建mysql服务
将mysql.server启动文件复制到/etc/init.d目录
cp -a /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
权限赋予
chmod +x /etc/rc.d/init.d/mysqld
使用chkconfig --add mysqld创建mysql服务
chkconfig --add mysqld
12. 配置全局环境配置
编辑/etc/profile文件,(可使用vim /etc/profile命令)在profile文件中添加如下两行配置:
export PATH=$PATH:/usr/local/mysql/bin:/usr/local/mysql/lib
export PATH
设置环境变量立即生效
source /etc/profile
13. 启动MySQL
指令:
service mysql start //启动指令
service mysql status //查看MySQL运行的情况
service mysql stop // 停止mysql
service mysql restart //重启
14.登录MySQL
mysql -uroot -p
密码就是之前初始化生成的密码:
登陆成功了:
15. 修改密码
这里修改成你要的密码:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '你的密码';
到了这里,我们已经成功安装并且远程连接MySQL了,接下来开始设置远程连接
16. 设置远程链接
1. 使用use mysql;命令,切换数据库
2. 使用update user set host='%' where user='root' limit 1,修改mysql库中host值
3)刷新mysql权限,使用flush privileges;
use mysql;
update user set host='%' where user='root' limit 1;
flush privileges;
这样就可以了,如果是服务器的话,我们需要防火墙打开3306,同时在云服务器商那里设置安全组。
查看防火墙是否开启:
systemctl status firewalld
查看所有开启的端口:
firewall-cmd --list-ports
常用命令介绍:
systemctl start firewalld.service ##(开启防火墙)
systemctl stop firewalld.service ##(关闭防火墙)
添加指定需要开放的端口:
firewall-cmd --add-port=9090/tcp --permanent
重载入添加的端口:
firewall-cmd --reload
查询指定端口是否开启成功:
firewall-cmd --query-port=123/tcp
移除指定端口:
firewall-cmd --permanent --remove-port=123/tcp
firewall-cmd --state ##查看防火墙状态,是否是running
firewall-cmd --reload ##重新载入配置,比如添加规则之后,需要执行此命令
firewall-cmd --get-zones ##列出支持的zone
firewall-cmd --get-services ##列出支持的服务,在列表中的服务是放行的
firewall-cmd --query-service ftp ##查看ftp服务是否支持,返回yes或者no
firewall-cmd --add-service=ftp ##临时开放ftp服务
firewall-cmd --add-service=ftp --permanent ##永久开放ftp服务
firewall-cmd --remove-service=ftp --permanent ##永久移除ftp服务
firewall-cmd --add-port=80/tcp --permanent ##永久添加80端口
iptables -L -n ##查看规则,这个命令是和iptables的相同的
阿里云设置安全组,开放端口:
远程链接成功: