Navicat for mysql无法连接到mysql是什么原因?

2024-12-04 18:47:05
推荐回答(1个)
回答(1):

解决办法:

  1. 首先远程连接进入服务器,在cmd中输入mysql -u root -p,然后回车,输入密码后回车进入mysql命令行。

  2. 输入use mysql;

  3. 输入select user,password,host from user; 可以看到host中只有localhost主机。我们需要将xxx.xxx.xxx.xxx也添加到这里才对。

  4. 添加方法如下:输入 grant all privileges on *.* to root@”xxx.xxx.xxx.xxx” identified by “密码”;或者 GRANT ALL PRIVILEGES ON *.* TO ‘root’@’xxx.xxx.xxx.xxx’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;这相当于是给IP-xxx.xxx.xxx.xxx赋予了所有的权限,包括远程访问权限。然后再输入 flush privileges; 

  5. 再次输入select user,password,host from user; 可以看到host中已经有了新加的IP。

  6. 现在再次用Navicat for MySQl访问远程mysql数据库,已经能正常打开了。 问题解决。

  7. 如果还是连接不到,那不是 MySQL Server 绑定了本地地址,打开/etc/mysql/my.cnf,找到:bind-address = 127.0.0.1,去除 IP 地址绑定,把它改为:bind-address = 0.0.0.0。然后重启 MySQL Server:/etc/init.d/mysql restart