怎么解决mysql不允许远程连接的错误

怎么解决mysql不允许远程连接的错误

最近使用Navicat for MySQL访问远程mysql数据库,出现报错,显示1130 - Host'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server

怎么解决mysql不允许远程连接的错误_第1张图片

错误原因是:本地IP(xxx.xxx.xxx.xxx)没有访问远程数据库的权限。

于是下面开启本地IP(xxx.xxx.xxx.xxx)对远程mysql数据库的访问权限。

解决办法如下:

  1. 在服务器端,打开cmd窗口,进入mysql 安装目录bin 下,输入mysql -u root -p,然后回车,输入密码后回车进入mysql命令行。

  2. 输入use mysql;

  3. 输入select user,host from user;

    可以看到host中只有localhost主机。我们需要将xxx.xxx.xxx.xxx也添加到这里才对。

  4. 添加方法如下:

    -- 你想myuser使用mypassword从任何主机连接到mysql服务器的话。
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
    
    -- 如果你想允许用户myuser从ip为192.168.1.3的主机连接到mysql服务器,并使用mypassword作为密码
    GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'192.168.1.3' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

    然后再输入

    --  这相当于是重新加载一下mysql权限,这一步必须有。
    flush privileges;
  5. 再次输入

    select user,host from user;
    --  可以看到host中已经有了新加的IP。
  6. 再次在客户端用Navicat for MySQl访问远程mysql数据库,已经能正常打开了。

你可能感兴趣的:(数据库)