解决navicat无法通过3306访问远程mysql问题

首先防火墙开放3306
编辑
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf 
注释 bind-address = 127.0.0.1 添加 skip-name-resolve

允许非本地登陆

mysql -u root -p
mysql>use mysql;
查看root账号的登录权限
mysql>select host, user from user;
修改登录权限
mysql>update user set host = '%' where user = 'root';
刷新,生效,最后一步,至关重要
mysql>flush   privileges;

注意,以上修改以后,会导致 mysql -h localhost -u root 无法登陆了,所以统一账号加密码登陆方式(mysql -u root -p)
接下来:继续参考https://stackoverflow.com/questions/39281594/error-1698-28000-access-denied-for-user-rootlocalhost

$ sudo mysql -u root # I had to use "sudo" since is new installation

mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;

+------------------+-----------------------+
| User             | plugin                |
+------------------+-----------------------+
| root             | auth_socket           |
| mysql.sys        | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+

修改方法一:
$ sudo mysql -u root # I had to use "sudo" since is new installation

mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;

$ service mysql restart

这样,就可以通过Navicat直接通过3306远程登陆了

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值