手机无法连接mysql服务器_无法连接 mysql

本文列举了常见的无法连接MySQL服务器的故障现象及解决办法,包括错误1045、1130、2003、2002等,涉及用户权限、远程连接权限、服务未启动、端口不一致和socket文件问题。通过检查服务状态、用户权限、配置文件等,可以针对性地解决问题。
摘要由CSDN通过智能技术生成

=====================================================================================================

故障现象 : 无法连接 mysql

错误信息 :ERROR 1045 (28000): Access denied for user 'usera'@'localhost' (using password:YES)

原因 : 用户账号并未创建

检查 :以管理员ROOT登录后,show grants for 'usera'@'localhost'; 或者 select user from mysql.user; 确认用户账号是否存在。

处理 :创建用户账号。

=====================================================================================================

==========================================================================

故障现象 : 无法连接 mysql

错误信息 :ERROR 1130: Host xx.xx.xx.xx is not allowed to connect to this MySQL server

原因 : mysql服务器没有赋予此客户端远程连接的权限。

检查 :在mysql服务器本地查询mysql库里user表对应的host是否包含客户端机器的IP(%为不限制IP允许远程连接)。

处理 :修改mysql库下的user表:update user set host = '%'  where user ='XXX';flush privileges;

====================================================================================

=====================================================================================================

故障现象 : 无法连接 mysql

错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061)

原因 : mysqld数据库服务没有启动。

检查 :在windows 的任务管理器,或者 unix/linux 下 ps -aux | grep mysql 看一下。确认服务已经启动。

处理 :启动mysqld 服务

=====================================================================================================

=====================================================================================================

故障现象 : 无法连接 mysql

错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061)

原因 : mysqld 客户端与服务端端口不一致。

检查 :在my.ini 设置下服务端口 这种情况特别是客户都与远程服务器端口不一致 很容易出现的问题

处理 :启动mysqld 服务

=====================================================================================================

=====================================================================================================

故障现象 : 无法连接 mysql windows

错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061)

原因 :  同时开启大量的tcp端口和而仅有一小部分短命端口时,当他们处于time_wait时期,mysql可能会跑错端口

检查 :在windows 默认会开启5000个临时端口供调用,而他们的生命仅仅是120s,意思是在关闭端口的时候会有120秒的延时

处理 :减少不不必要的tcp端口。

修改注册表

=====================================================================================================

=====================================================================================================

故障现象 : 无法连接 mysql

错误信息 :ERROR 2002 (HY000): Can't connect to local MySQL server server through socket '/var/lib/mysql/mysql.sock'(111)

原因 : mysqld的mysql.sock没在相应的位置。

处理 :1.先查看/etc/rc.d/init.d/mysql status 看看是否启动

2.改权限 chown -R mysql:msyql /var/lib/mysql

3.修改/etc/my.cnf (注意:先停数据库)

[mysqld]

datadir=/usr/local/mysql/data

socket=/var/lib/mysql/mysql.sock

[mysql.server]

user=mysql

basedir=/usr/local/mysql

[client]

socker=/var/lib/mysql/mysql.sock

4.启动数据库

=====================================================================================================

归纳如下:

故障现象 : 无法连接 mysql

===================================================================================

错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061)

原因 : mysqld数据库服务没有启动。

检查 :在windows 的任务管理器,或者 unix/linux 下 ps -aux | grep mysql 看一下。确认服务已经启动。

处理 :启动mysqld 服务

===================================================================================

错误信息 :ERROR 1130: Host xx.xx.xx.xx is not allowed to connect to this MySQL server

原因 : mysql服务器没有赋予此客户端远程连接的权限。

检查 :在mysql服务器本地查询mysql库里user表对应的host是否包含客户端机器的IP(%为不限制IP允许远程连接)。

处理 :修改mysql库下的user表:update user set host = '%'  where user ='XXX';flush privileges;

===================================================================================

错误信息 :ERROR 1045 (28000): Access denied for user 'usera'@'localhost' (using password:YES)

原因 : 用户账号并未创建

检查 :以管理员ROOT登录后,show grants for 'usera'@'localhost'; 或者 select user from mysql.user; 确认用户账号是否存在。

处理 :创建用户账号。

===================================================================================

错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061)

原因 : mysqld 客户端与服务端端口不一致。

检查 :在my.ini 设置下服务端口 这种情况特别是客户都与远程服务器端口不一致 很容易出现的问题

处理 :启动mysqld 服务

===================================================================================

错误信息 :ERROR 2002 (HY000): Can't connect to local MySQL server server through socket '/var/lib/mysql/mysql.sock'(111)

原因 : mysqld的mysql.sock没在相应的位置。

处理 :1.先查看/etc/rc.d/init.d/mysql status 看看是否启动

2.改权限 chown -R mysql:msyql /var/lib/mysql

3.修改/etc/my.cnf (注意:先停数据库)

[mysqld]

datadir=/usr/local/mysql/data

socket=/var/lib/mysql/mysql.sock

[mysql.server]

user=mysql

basedir=/usr/local/mysql

[client]

socker=/var/lib/mysql/mysql.sock

4.启动数据库

===================================================================================

常用检查步骤。

1. PING hostname 或 PING 189.xx.xx.xx确认服务器IP层通信没有问题。如果PING通则继续(2),PING不通则找网络方面专家协助。

2. TELNET hostname 3306 确认服务器TCP层通信没有问题。(你的端口号可能不是3306),如通则继续,如不通,请检查mysqld 是否已经在运行,防火墙屏蔽了端口。

3. 检查用户权限, show grants ...

你的用户没有使用 root  账户,或者你的root账户没有授予登录权限,需要使用

GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' IDENTIFIED BY 'mypassword' WITH GRANT OPTION;

授权

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值