Navicat远程连接MYSQL出错解决方案
在使用Navicat远程连接数据库时,会出现很多问题,本文做了一些总结
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即可
- 首先, 使用
1130 host is not allowed to connect to
改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入mysql后,更改 “mysql” 数据库里的 “user” 表里的 “host” 项,从”localhost”改称”%”
mysql -u root -pvmwaremysql>usemysql;
mysql>update user set host = '%' 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; 这句一定要加上!!!