出现原因:
- 阿里云没有开放3306端口
- 服务器的防火墙没有开放3306端口
- mysql 用户连接受限制
在创建mysql账户时,限制连接账户远程登录。也就是说,除了当前mysql所在的安装服务器外,其他的ip(主机)都是不允许访问的,即使你的用户名和密码是正确的。这时候就要修改用户的访问权限。
直接给出大家阿里云未开放3306端口,如何通过navicat连接阿里云的mysql
(前提要保证服务器的防火墙开放3306端口,mysql user表中root的访问权限的host是%):
打开防火墙: systemctl start firewalld
永久开放3306端口: firewall-cmd --zone=public --add-port=80/tcp --permanent
重新载入: firewall-cmd --reload
登录musql:
mysql -u root -p
//输入密码
use mysql;
更改mysql user表中登陆用户权限
show databases;
use mysql;
select user,host,password from user;
update user set host = ‘%’ where user=‘root’;
flush privileges;