连接mysql数据库时提示2003-can t connect to MySQL server on ip 的解决办法

环境:ubuntu (Linux)服务器下

问题:在windows7下使用Sqlyog连接mysql数据库时出现 2003-Can't connect to MySql server on 

解决步骤:

(1)查看哪些端口被打开 netstat -anp

tcp        1      0 127.0.0.1:36021         127.0.0.1:3306          CLOSE_WAIT  56314/python 

127.0.0.1:3306 -- 指mysql数据库仅能在本地下访问;

(2)我们把127.0.0.1:3306改为0.0.0.0:3306,这样才能让所有用户可以远程访问mysql数据库;

打开/etc/mysql/my.cnf 找到bind-address= 127.0.0.1 把它改成 bind-address= 0.0.0.0

(注意:mysql5.7下,修改文件/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

(4)测试连接,连接成功。

 

参考地址:https://www.cnblogs.com/zkfopen/p/9469787.html

你可能感兴趣的:(web)