一、环境:linux服务器下
二、问题:在windows7下使用Navicat for Mysql连接mysql数据库时出现 2003-Can't connect to MySql server on 'localhost'(10061)
三、解决步骤:
(1)查看哪些端口被打开 netstat -anp
127.0.0.1:3306 -- 指mysql数据库仅能在本地下访问;
(2)我们把127.0.0.1:3306改为0.0.0.0:3306,这样才能让所有用户可以远程访问mysql数据库;
打开/etc/mysql/mysql.cnf
找到bind-address= 127.0.0.1
把它改成 bind-address= 0.0.0.0
(mysql5.7.24版本,配置文件目录是:/etc/mysql/mysql.conf.d/mysqld.cnf)
重启生效;
命令:service mysql restart
(3)执行第二步后测试连接mysql,仍然会报错:“1130 is not allowed to connect to this MySql server”。这是因为没有开启权限。
在linux服务器下执行:
1.mysql -u root -p
回车,输入密码回车,登录;
2.授权远程用户登录
1.对所有 root
用户授权:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root用户密码' WITH GRANT OPTION;
2.对指定 IP 的 root
用户授权:
GRANT ALL PRIVILEGES ON *.* TO root@'指定的IP地址' IDENTIFIED BY 'root用户密码' WITH GRANT OPTION;
3.也可以授权指定的表,这就不搞的那么麻烦了,反正本地自己用。
3.重载授权表:FLUSH PRIVILEGES;
4.exit
退出 Mysql