mysql 远程连接超时解决办法

Posted 安大叔

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql 远程连接超时解决办法相关的知识,希望对你有一定的参考价值。

设置mysql远程连接root权限
在远程连接mysql的时候应该都碰到过,root用户无法远程连接mysql,只可以本地连,对外拒绝连接。
需要建立一个允许远程登录的数据库帐户,这样才可以进行在远程操作数据库。
 
方法如下:
默认情况下MYSQL数据库的系统数据库mysql系统表user内用户权限只提供localhost本机登陆;
需要更改权限才能实现远程连接MYSQL数据库。
可以通过以下方式来确认:
root#mysql -h localhost -uroot -p
Enter password: ******
Welcome to the MySQL monitor. Commands end with ; or \\g.
Your MySQL connection id is 4 to server version: 4.0.20a-debug
Type ‘help;’ or ‘\\h’ for help. Type ‘\\c’ to clear the buffer.
mysql> use mysql; (此DB存放MySQL的各种配置信息)
Database changed
mysql> select host,user from user; (查看用户的权限情况)
mysql> select host, user, password from user;
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| 127.0.0.1 | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| localhost | | |
+-----------+------+-------------------------------------------+
4 rows in set (0.01 sec)
 
由此可以看出,只能以localhost的主机方式访问。
解决方法:
mysql> Grant all privileges on *.* to \'root\'@\'%\' identified by \'kdm001\' with grant option;
(%表示是所有的外部机器,如果指定某一台机,就将%改为相应的机器名;‘root’则是指要使用的用户名,)
mysql> flush privileges; (运行此句才生效,或者重启MySQL)
Query OK, 0 rows affected (0.03 sec)
再次查看。。
mysql> select host, user, password from user;
+-----------+------+-------------------------------------------+
| host | user | password |
+-----------+------+-------------------------------------------+
| localhost | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| 127.0.0.1 | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
| localhost | | |
| % | root | *4ACFE3202A5FF5CF467898FC58AAB1D615029441 |
+-----------+------+-------------------------------------------+
4 rows in set (0.01 sec)
可以看出已经添加了一个新的用户
退出,试试效果....
现在可以成功登录了..

 

PS:如果还不能登录,请看下面

1.记得关闭VMware或者是linux的防火墙

2.打开/etc/my.cnf 文件,bind-address = ******** 一句前边加上 # ,注释掉

再加上一下两句:

skip-external-locking
skip-name-resolve

3.重启mysql: service mysql restart

4.在远程连接应该就能连接上了

以上是关于mysql 远程连接超时解决办法的主要内容,如果未能解决你的问题,请参考以下文章

navcat无法远程连接mysql数据库解决办法

Navicat远程连接mysql教程及Navicat报错10061解决办法

从SecureCRT连接到虚拟机失败。提示连接超时。求解决办法。200分。

远程连接linux下的mysql Err1045 Err2003解决办法

远程连接mysql出现1045错误的解决办法

Navicat 远程连接docker容器中的mysql 报错1251 - Client does not support authentication protocol 解决办法