背景:
- 在Centos7中,初次使用MySQL需要一定的步骤才能进行正常使用MySQL,下面为大家讲述初始化MySQL和设置MySQL可以远程连接的步骤
- 本文适用MySQL 5.7或以上版本
初始化MySQL:
-
查看初始化密码
sudo grep 'temporary password' /var/log/mysqld.log
运行此命令之后将会打印出初始化密码
但有的同学会遇到打印为空的错误,这时候可以去看我的这篇文章,里面有解决办法——>点击grep 'temporary password' /var/log/mysqld.log打印为空 - 小呆呆的生活 (xiaodaidai.top)
-
使用初始化密码进行登录
mysql -u root -p
接着输入刚刚得知的初始化密码就可以进入MySQL
-
初始化密码(必须进行此操作,不然无法进行其他操作)
ALTER USER 'root'@'localhost' IDENTIFIED BY 'daasan7ujm^YHN';
因为MySQL当前对密码有一定的要求,比如长度、含某些字符等等,所以建议使用上述的密码先,后续我们再修改密码要求从而再进行修改密码
自此我们就可以进行MySQL的其他操作
修改MySQL密码要求(策略):
-
查询MySQL初始的密码要求(策略)
SHOW VARIABLES LIKE 'validate_password%';
打印出来的表里面的字段我就不一一解释了,有点英语基础的应该看得懂,也可以猜得出
-
修改密码验证强度
set global validate_password_policy=LOW;
-
修改密码长度
set global validate_password_length=6;
我们以设置6位长度密码为例
-
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
设置密码为123456
注意,密码长度最低为4位,设置的密码长度小于4时,默认改成4
设置MySQL远程连接
以root用户远程连接为例:
-
修改权限(所有主机都可以远程连接MySQL)
方法一:
update mysql.user set host='%' where user='root';
方法二:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;
-
刷新权限
FLUSH PRIVILEGES;
-
配置防火墙
方法一:直接把防火墙关闭(不安全,不建议)
systemctl stop firewalld
方法二:设置3306端口开放
firewall-cmd --zone=public --add-port=3306/tcp --permanent
看到success表示成功
-
重启防火墙
firewall-cmd --reload
-
验证3306是否开放成功
firewall-cmd --zone=public --query-port=3306/tcp
-
使用MySQL连接工具测试:
Navicat、MySQL Workbench、phpMyAdmin等等
能连接上表示成功
总结:
- 本文支持Centos7系统初次使用MySQL,其他版本的Linux系统大同小异,自行查别的资料,这里就不逐一列出了
- 某些远程连接存在问题的可能是因为MySQL和mysql-connector-java、Java的版本问题,可以查看我另一篇文章,点击MySQL和mysql-connector-java、Java的版本问题 - 小呆呆的生活 (xiaodaidai.top)
- 还有别的问题可以在下方评论,我会逐一回复,感谢大家的阅读
文章评论