今天在连数据库的时候厌倦了PhpMyAdmin了,因为有时候太卡了。所以打算用NaviCat去连。用Navicat直接连呢就会出问题,因为Mysql默认是不支持远程连接的,只支持localhost连接,因此我们需要稍微折腾一下。但这个稍微折腾的过程我感觉踩了所有的坑= =所以决定出来写一下

环境:
Ubuntu 16.04.1
Mysql 5.7.20

执行如下命令打开mysql配置文件

sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

在网上查的时候非常坑爹,很多都让改mysql.cnf文件,改完以后重启就会出错:(应该是因为版本的问题,老版本应该需要改mysql.cnf。

找到

bind-address = 127.0.0.1

改为

bind-address = 0.0.0.0

注意网上还有要注释掉的,但亲测注释不行,必须改为0.0.0.0:)

在Ubuntu本地(数据库所在的服务器)使用Mysql指令以root身份连接mysql

 mysql -u root -p

之后输入密码,登录。

执行如下指令

GRANT ALL PRIVILEGES ON  *.*  TO root@"%" IDENTIFIED BY '填写root密码';
flush privileges;

注意不要直接复制粘贴!!!!!
注意不要直接复制粘贴!!!!!
注意不要直接复制粘贴!!!!!

要把语句中 填写root密码 改成 自己的密码!!!!!
如果远程以其他用户身份访问,就把语句中的root改为所需用户名。

最后重启Mysql服务

sudo /etc/init.d/mysql restart

好了,现在就能从远程通过Mysql指令连接数据库了,Navicat也可以顺利连接了。

ps:
按照以上步骤你将会避免以下错误

ERROR 2003 (HY000): Can't connect to MySQL server on '114.67.233.110' (60)

没改mysql配置文件时会碰到上边这个错误

ERROR 1045 (28000): Access denied for user 'root'@'218.106.182.23' (using password: YES) 

改完配置文件但不通过sql改权限的话会碰到上边这个错误

pps
Navicat就是好看啊

Navicat效果图

文章来源于互联网:Mysql Ubuntu允许远程连接 所有IP ERROR 2003

发表评论