文章目录
Centos8安装MySQL8实践
一.安装MySQL8
1.查看本机的MySQL服务
- 检测系统是否自带下载安装了 MySQL
rpm -qa | grep mysql
这说明你本机已经下载好了MySQL如果你系统有安装,那可以选择进行卸载:
rpm -e mysql // 普通删除模式
rpm -e --nodeps mysql // 强力删除模式,如果使用上面命令删除时,提示有依赖的其它文件,则用该命令可以对其进行强力删除
- 检查MySQL服务是否有进程
ps -ef|grep mysqld
这就说明MySQL服务已经在运行中了。
或者使用以下命令查看:
systemctl status mysqld
开启MySQL服务
service mysql start
关闭MySQL服务
service mysql stop
重启MySQL服务
service mysql restart
2.执行安装命令
1.1 CentOS 8存储库中安装最新版本的MySQL数据库服务器8.0版 ,所以安装比较简单
dnf install @mysql
1.2 完成后,运行以下命令来启动MySQL服务并使它在启动时自动启动:
systemctl enable --now mysqld
3.添加密码及安全设置
运行mysql_secure_installation脚本,该脚本执行一些与安全性相关的操作并设置MySQL根密码:
mysql_secure_installation
1.要求你配置VALIDATE PASSWORD component(验证密码组件):
-
输入y ,回车进入该配置
-
选择密码验证策略等级, 我这里选择0 (low),回车
-
输入新密码两次
mysql8的密码长度默认是8,
有关于MySQL密码策略的可参考一下以下的博客
https://blog.csdn.net/hello_world_qwp/article/details/79551789
-
确认是否继续使用提供的密码?输入y ,回车
-
移除匿名用户? 输入y ,回车
-
不允许root远程登陆? 我这里需要远程登陆,所以输入n ,回车
2.移除test数据库? 输入y ,回车
3.重新载入权限表? 输入y ,回车
二.开放远程连接MySQL
1.配置远程所有ip可访问
如果需要设置root账户远程登陆,上一步骤中,不允许root远程登陆?
这一步需要设为n。
接下来本机登录MySQL,将root用户的host字段设为’%’,意为接受root所有IP地址的登录请求:
本机登录MySQL:
mysql -uroot -p<上面步骤中设置的密码>
回车后即可登录,接下来终端变成了mysql>
开头 :说明你已经在MySQL服务上操作了。
进入MySQL数据库中修改
use mysql;//进入MySQL数据库
update user set host='%' where user='root';//修改访问ip
flush privileges;
改完之后应该是以下这样的:
2.允许远程访问(授权给所有ip)
mysql>CREATE USER 'root'@'%' IDENTIFIED BY 'password'; //此操作mysql 8.0中必须加 有可能执行后出现说你已经有了root用户,那么可以直接执行下面的命令
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'WITH GRANT OPTION; //任何远程主机都可以访问数据库
mysql>FLUSH PRIVILEGES;
三.如果还是无法访问可参考以下几个方面:
1.检查是否关闭防火墙了
2.检查是否开放阿里云安全组3306端口
3.查看配置是否是只有本机可以可以访问
centos8 的地址 etc/my.conf
欢迎指出问题和补充。