mysql 无法联接常见故障及原因分析
=====================================================================================================
故障现象:无法连接mysql
错误信息:ERROR2003(HY000):Can'tconnecttoMySQLserveron'hostxxxxx'(10061)
原因:mysqld数据库服务没有启动。
检查:在windows的任务管理器,或者unix/linux下ps-aux|grepmysql看一下。确认服务已经启动。
处理:启动mysqld服务
=====================================================================================================
==========================================================================
故障现象:无法连接mysql
错误信息:ERROR1130:Hostxx.xx.xx.xxisnotallowedtoconnecttothisMySQLserver
原因:mysql服务器没有赋予此客户端远程连接的权限。
检查:在mysql服务器本地查询mysql库里user表对应的host是否包含客户端机器的IP(%为不限制IP允许远程连接)。
处理:修改mysql库下的user表:updateusersethost='%' whereuser='XXX';flushprivileges;
====================================================================================
你的用户没有使用root 账户,或者你的root账户没有授予登录权限,需要使用
GRANTALLPRIVILEGESON*.*TO'myuser'@'%'IDENTIFIEDBY'mypassword'WITHGRANTOPTION;
授权
=====================================================================================================
故障现象:无法连接mysql
错误信息:ERROR2003(HY000):Can'tconnecttoMySQLserveron'hostxxxxx'(10061)
原因:mysqld客户端与服务端端口不一致。
检查:在my.ini设置下服务端口这种情况特别是客户都与远程服务器端口不一致很容易出现的问题
处理:启动mysqld服务
=====================================================================================================
故障现象:无法连接mysql
===================================================================================
错误信息:ERROR2003(HY000):Can'tconnecttoMySQLserveron'hostxxxxx'(10061)
原因:mysqld数据库服务没有启动。
检查:在windows的任务管理器,或者unix/linux下ps-aux|grepmysql看一下。确认服务已经启动。
处理:启动mysqld服务
===================================================================================
错误信息:ERROR1130:Hostxx.xx.xx.xxisnotallowedtoconnecttothisMySQLserver
原因:mysql服务器没有赋予此客户端远程连接的权限。
检查:在mysql服务器本地查询mysql库里user表对应的host是否包含客户端机器的IP(%为不限制IP允许远程连接)。
处理:修改mysql库下的user表:updateusersethost='%' whereuser='XXX';flushprivileges;
===================================================================================
错误信息:ERROR1045(28000):Accessdeniedforuser'usera'@'localhost'(usingpassword:YES)
原因:用户账号并未创建
检查:以管理员ROOT登录后,showgrantsfor'usera'@'localhost';或者selectuserfrommysql.user;确认用户账号是否存在。
处理:创建用户账号。
===================================================================================
错误信息:ERROR2003(HY000):Can'tconnecttoMySQLserveron'hostxxxxx'(10061)
原因:mysqld客户端与服务端端口不一致。
检查:在my.ini设置下服务端口这种情况特别是客户都与远程服务器端口不一致很容易出现的问题
处理:启动mysqld服务
===================================================================================
错误信息:ERROR2002(HY000):Can'tconnecttolocalMySQLserverserverthroughsocket'/var/lib/mysql/mysql.sock'(111)
原因:mysqld的mysql.sock没在相应的位置。
处理:
1.先查看/etc/rc.d/init.d/mysqlstatus看看是否启动
2.改权限chown-Rmysql: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.PINGhostname或PING189.xx.xx.xx确认服务器IP层通信没有问题。如果PING通则继续(2),PING不通则找网络方面专家协助。
2.TELNEThostname3306 确认服务器TCP层通信没有问题。(你的端口号可能不是3306),如通则继续,如不通,请检查mysqld是否已经在运行,防火墙屏蔽了端口。
3.检查用户权限,showgrants...