客户端不能连接mysql的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了客户端不能连接mysql的问题相关的知识,希望对你有一定的参考价值。

文中的mysql是安装在Linux虚拟机中的,客户端是在物理主机上的dbeaver
有道云笔记直接粘贴过来的,格式太乱,建议查看这个有道云笔记的链接

确保存在可任意地方链接的用户

在Linux中使用以下sql查询

SELECT host, user FROM mysql.user; 

查询结果如下

+-----------+------------------+
| host       | user               |
+-----------+------------------+
| %             | admin            |
| 127.0.0.1 | admin            |
| localhost  | debian-sys-maint |
| localhost  | mysql.session    |
| localhost  | mysql.sys        |
| localhost  | root             |
+-----------+------------------+

需要确保存在如下的结果

+-----------+------------------+
| host      | user             |
+-----------+------------------+
| %         | admin            |
+-----------+------------------+

如果存在的话,则可以使用admin用户进行登录(从任何地方);
如果不存在,那么可以添加一条对应的用户记录具体的grant命令见官网文档

mysql> grant all on yourdb.* to [email protected]‘%‘ identified by ‘yourpassword‘; //注意这里的yourdb和yourpassword换成自己实际的值   

修改mysql配置文件中的bind-address

如果是使用虚拟机的话,可能还需要查看下绑定的ip问题
使用如下命令

mysqld --verbose --help | grep bind-address

显示结果如下

--bind-address=name IP address to bind to.
bind-address                                                 0.0.0.0

需要确保的是,你的bind-address必须是0.0.0.0
The bind address have to be 0.0.0.0 (which means "every IP addresses") to work.

那么如何去更改这个bind-address呢?
找到你的mysqld.cnf文件,搜索bind-address然后修改
一般Linux中,这个文件在/etc/mysql/mysql.conf.d目录下

参考

参考github的内容(见7楼)

以上是关于客户端不能连接mysql的问题的主要内容,如果未能解决你的问题,请参考以下文章

Native for MySQL 客户端连接MySQL8 提示10061错误解决方案

部分代码片段

客户端不能连接MySQL - 2003-Can't connect to MySQL server on '192.168.43.180'(10060 "Unknow

关于客户端不能连接mysql服务器的解决办法

怎么解决mysql不允许远程连接的错误

mysql连接客户超过几个就出现停止运行