通过Navicat远程连接MySQL

Posted 火山

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了通过Navicat远程连接MySQL相关的知识,希望对你有一定的参考价值。

参考:

http://blog.csdn.net/apple9005/article/details/53033148

 

问题一:在主机下通过Navicat连接服务器mysql的时候,提示“2003 Can‘t connect to mysql server on ‘xxx.xxx.xxx.xxx‘(10038)”

原因:服务器3306远程端口没有开放

解决:

1.首先查看端口是否打开,命令:netstat  -an|grep 3306

会显示127.0.0.1:3306,表示的是本地

2.打开mysql配置文件,命令:sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

将bind-address = 127.0.0.1注销

3.重启数据库

再次执行netstat  -an|grep 3306,发现已经变化。

问题二:在解决问题一后,用主机Natcivat再次连接服务器Mysql,出现另一错误提示:1130-Host‘XXX.XXX.XXX.XXX’ is not allowed to connect to this MySQL server

原因:远程服务器无权限登录MySQL

解决:

1.Ubuntu下登录MySQL:mysql -uroot -p 

2.执行下命令

GRANT ALL PRIVILEGES ON *.* TO ‘你的用户名‘@‘%‘ IDENTIFIED BY ‘你的数据库密码‘ WITH GRANT OPTION;

3.在执行下
flush privileges;

这个命令是刷新一下权限,不用重启

 

以上只针对5.7以下版本。

 

5.7以上执行的时候会报错误

  1. mysql> GRANT ALL PRIVILEGES ON *.* TO ‘XXX‘@‘%‘ IDENTIFIED BY ‘ZZZZZ‘ WITH GRANT OPTION;    
  2. ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.    
  3. mysql> exit    

这个时候,需要先执行刷新权限:

    1. flush privileges;   



以上是关于通过Navicat远程连接MySQL的主要内容,如果未能解决你的问题,请参考以下文章

通过Navicat远程连接管理Mysql

MySQL通过Navicat实现远程连接的过程

通过Navicat for MySQL远程连接的时候报错mysql 1130 的解决方法

Navicat远程连接MySQL8,必知防坑策略

知道远程mysql用户名和密码,能远程管理吗?我用Navicat连接,提示连接失败!

亲测可用通过Navicat for MySQL远程连接的时候报错mysql 1130的解决方法