本地navicat连接不上阿里云服务器mysql(不开放3306端口,通过ssh连接远端mysql)

出现原因:

  1. 阿里云没有开放3306端口
  2. 服务器的防火墙没有开放3306端口
  3. mysql 用户连接受限制

在创建mysql账户时,限制连接账户远程登录。也就是说,除了当前mysql所在的安装服务器外,其他的ip(主机)都是不允许访问的,即使你的用户名和密码是正确的。这时候就要修改用户的访问权限。

直接给出大家阿里云未开放3306端口,如何通过navicat连接阿里云的mysql
(前提要保证服务器的防火墙开放3306端口,mysql user表中root的访问权限的host是%):

Centos7 开放3306端口:

打开防火墙:     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;
发布了143 篇原创文章 · 获赞 31 · 访问量 14万+

猜你喜欢

转载自blog.csdn.net/qq_42112846/article/details/103761297