没法链接 mysql

=====================================================================================================
故障现象 : 没法链接 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

==========================================================================
故障现象 : 没法链接 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;
====================================================================================linux

=====================================================================================================
故障现象 : 没法链接 mysql 
错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10061)
缘由 : mysqld数据库服务没有启动。
检查 :在windows 的任务管理器,或者 unix/linux 下 ps -aux | grep mysql 看一下。确认服务已经启动。
处理 :启动mysqld 服务
=====================================================================================================sql

===================================================================================================== 
故障现象 : 没法链接 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端口。
修改注册表
===================================================================================================== windows

===================================================================================================== 
故障现象 : 没法链接 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;
受权socket

相关文章
相关标签/搜索