mysql无法连接
2016-01-17 15:31
701 查看
故障现象 : 无法连接 mysql
错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10060)
原因 : 防火墙iptables没有关闭
处理 :关闭iptables防火墙
这就是让我找了半天的错误,还是对防火墙不太熟悉(包括 SELinux,iptables,ufw)
故障现象 : 无法连接 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 ...
错误信息 :ERROR 2003 (HY000): Can't connect to MySQL server on 'hostxxxxx' (10060)
原因 : 防火墙iptables没有关闭
处理 :关闭iptables防火墙
这就是让我找了半天的错误,还是对防火墙不太熟悉(包括 SELinux,iptables,ufw)
故障现象 : 无法连接 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 ...
相关文章推荐
- MySQL中的integer 数据类型
- MySQL存储过程
- mysql中int、bigint、smallint 和 tinyint的区别与长度
- mysql load data 导出、导入 csv
- source命令执行SQL脚本文件
- MySQL创建用户及权限控制
- MySQL管理数据表
- linux下mysql添加用户
- mysql procedure
- mysql触发器
- MySQL 备份和恢复策略
- mac下安装mysql(转载)
- mysql 修改编码 Linux/Mac/Unix/通用(杜绝修改后无法启动的情况!)
- MySQL数据的导出、导入(mysql内部命令:mysqldump、mysql)
- mysql数据行转列
- Linux下修改MySQL编码的方法
- MySQL Server 日志
- MySQL 安全事宜
- MySQL 备份与恢复