1、服务器的防火墙需要关闭
2、在阿里云控制台里给服务器的安全组添加规则,开放3306端口
3、修改MySQL监听IP,默认情况下MySQL监听的是127.0.0.1,也就是本机,因此需要将MySQL改成监听远程主机IP或者所有IP。修改
/etc/mysql/mysql.conf.d/mysqld.cnf
或者
/etc/my.cnf
(版本不一样,修改文件的位置不一样) ,找到bind-address = 127.0.0.1,改成改为bind-address = 0.0.0.0即可(若没有则添加bind-address = 0.0.0.0)
4、授权给网络上其他主机访问数据库,进入MySQL后
use mysql;
select User,authentication_string,Host from user;
GRANT ALL PRIVILEGES ON *.* TO \'账号\'@\'%\' IDENTIFIED BY \'密码\';
%代表所有主机,也可以具体到你的主机ip地址
若想设置见简单密码,需要输入下面的代码
set global validate_password_policy=0;set global validate_password_length=1;
刷新权限,从mysql数据库的grant表中重新加载权限数据
flush privileges;
重启MySQL服务,再用Navicat连接,基本就能成功
service mysqld restart
参考文章:Navicat连不上远程阿里云服务器MySQL数据库的几个原因
参考文章:如何修改MySQL监听IP地址