1、下载并安装Msyql8。时间可能较长。
wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
yum localinstall mysql80-community-release-el7-3.noarch.rpm
yum install mysql-community-client mysql-community-server
2、启动mysql服务
systemctl start mysqld # 启动mysql服务
3、查看root用户密码并登陆。
启动mysql后,会随机产生一个密码在/var/log/mysqld.log。
cat /var/log/mysqld.log # 输出文件内容
密码位置如下图,复制密码。
使用root账号和密码登陆mysql
mysql -uroot -pWaAahcHAs2*L
4、修改root密码
# mysql默认的密码策略 需要包含大小写字母、特殊字符、数字。如需修改密码策略可自行百度。
mysql> alter user 'root'@'localhost' identified with mysql_native_password by 'Chensong@666';
ps:mysql_native_password暂时没搞懂。测试过这里不使用mysql_native_password,后面远程登陆不上。清楚的朋友麻烦说下。之前一直安装的5.7,不会出现这问题。
5、授权root远程登陆
Mysql默认不支持使用root远程登陆。
mysql> use mysql # 使用mysql库,user表在mysql库里
可以先查看user的权限,显示root只能本机登陆。
mysql> select user,host from user;
修改root权限
mysql> update user set host='%' where user='root'; # '%'任何ip都能访问
再次查看权限
6、刷新并重启
mysql> flush privileges # 刷新
mysql> exit # 退出mysql
systemctl restart mysqld # 重启mysql服务
如果开启防火墙,需要设置端口:
firewall-cmd --zone=public --add-port=3306/tcp --permanent # 开启mysql3306端口
systemctl stop firewalld # 直接关闭防火墙,个人服务器学习阶段建议关闭防火墙
systemctl disable firewalld # 若选择关闭防火墙,一不做二不休,禁止防火墙开机启动
mysql启停命令,开机启动:
systemctl status mysqld # 查看mysql运行状态
systemctl start mysqld # 启动mysql
systemctl stop mysqld # 停止mysql
systemctl restart mysqld # 重启mysql
systemctl enable mysqld # 设置开机启动mysql