## [Navicat for Mysql连接mysql数据库时出现 2003-Can't connect to MySql server on 'localhost'(10061)] ## 一、环境:linux服务器下 ## 二、问题:在windows7下使用Navicat for Mysql连接mysql数据库时出现 2003-Can't connect to MySql server on 'localhost'(10061) ## 三、解决步骤: ### (1)查看哪些端口被打开 netstat -anp ![](https://img.kancloud.cn/ab/c6/abc6cecbf49180273a44e300b48d39aa_771x134.png) 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) ![](https://img.kancloud.cn/07/74/0774b8bc6138014fcb6f7c43e2697e58_664x106.png) 重启生效; 命令: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 ### (4)测试连接,连接成功。