Navicat远程连接MYSQL出错解决方案

来源:互联网 发布:阿里云有什么用 编辑:程序博客网 时间:2024/06/01 17:46

Navicat远程连接MYSQL出错解决方案

在使用Navicat远程连接数据库时,会出现很多问题,本文做了一些总结

  1. 2003 can’t connect to mysql 10038

    这个错误是由于MySQL服务器不允许远程访问导致的,只要打开访问权限即可

    • 首先, 使用 netstat -an|grep 3306查看当前3306端口的开放状态,若显示的是127.0.0.1:3306 …,则表明当前只对本地开放
    • 此时,我们需要修改mysql配置文件 /etc/mysql/mysql.conf, 将bind-address = 127.0.0.1注释掉
    • 重启MySQL服务,sudo service mysql restart
    • 查看3306端口,发现此时的状态为:::3306即可
  2. 1130 host is not allowed to connect to

    • 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”
      mysql -u root -pvmwaremysql>usemysql;
      mysql>update user sethost = '%' where user = 'root';
      mysql>select host, user from user;

      这个似乎要重启服务

    • 授权法。例如,你想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 'root'@'192.168.1.3'IDENTIFIED BY 'mypassword' WITH GRANT OPTION;
      GRANT ALL PRIVILEGES ON *.* TO 'root'@'192.168.1.3'IDENTIFIED BY '1235' WITH GRANT OPTION;

* mysql>flush privileges; 这句一定要加上!!!

0 0
原创粉丝点击