Navicat不能够远程登录Linux上的mysql数据库解决方法

第一步是要登录远程Linux电脑的mysql数据库:

mysql -uroot -p

然后切换到mysql数据库:

mysql>use mysql

第二步就是要修改权限:

mysql> grant all privileges on *.* to root@"%" identified by "密码";

密码最好用之前创建数据库时候的密码。

这表示是给本地ip赋予了所有的权限,包括远程访问权限,%百分号表示允许任ip访问数据库。

然后再输入:

mysql> flush privileges;

这相当于是重新加载一下mysql权限,这一步必须有。

最后就是退出数据库

mysql> exit

第三步就是要去掉绑定本地IP地址,打开数据库的配置文件:

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

然后找到这样的一句话:

bind-address = 127.0.0.1 

并将其注释掉,如:#bind-address = 127.0.0.1 在前面加个井号。

然后保存退出。

最后就是重启mysql数据库:

sudo /etc/init.d/mysql restart

原因是:这条语句显示的绑定了本地IP地址,以至于增加权限也无济于事。我尝试着屏蔽它,使他成为这样”#bind-address = 127.0.0.1″,也就是注释掉他。

第四步就是要关闭防火墙:

可以简单的关闭防火墙3306端口限制

ufw allow 3306

也可以直接关闭防火墙:

service iptables stop

现在可以使用本地的Navicat连接了。

如果是公司服务器防火墙比较重要不能关闭,那就麻烦点了,需要在防火墙的配置文件下配置属性。

不同的Linux系统版本关闭防火墙的办法不一样,可百度根据自身的系统版本去关闭。

    原文作者:周兆东
    原文地址: https://segmentfault.com/a/1190000019202395
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞