1.window环境下利用navicat工具连接VMware虚拟机中Mysql服务器,连接图如下:
2.直接连接会报以下错误,是虚机的防火墙设置存在问题。
解决防火墙的方案:
关闭虚拟机上的防火墙或者开发3306端口。
service firewalld stop 建议直接关闭防火墙,比较方便
开放防火墙端口
添加需要监听的端口
/sbin/iptables -I INPUT -p tcp --dport 3306 -j ACCEPT
3.解决防火墙问题后,继续连接发现解决MySQL无法远程连接的问题:
查找资料,解决方法如下:
从任何主机上使用root用户,密码:yourpassword(你的root密码)连接到mysql服务器:
# mysql -u root -proot
mysql>GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
但是会遇到下述问题:
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'yourpassword' WITH GRANT OPTION;
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
查询后是密码策略问题异常,可以使用下述方案解决:
1、查看 mysql 初始的密码策略,
输入语句 “ SHOW VARIABLES LIKE 'validate_password%'; ” 进行查看,
如下图:
2.需要设置密码的验证强度等级,设置 validate_password_policy 的全局参数为 LOW 即可,
输入设值语句 “ set global validate_password_policy=LOW; ” 进行设值
修改完策略后,执行命令使得任何主机可以远程登录myql服务器。
mysql> set global validate_password_policy=LOW;
Query OK, 0 rows affected (0.00 sec)
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'klczxas789' WITH
-> GRANT OPTION;
Query OK, 0 rows affected, 1 warning (0.10 sec)
修改完策略后 ,使用Navicat能正常远程登录mysql服务器: