linux安装mysql别的机器连接不上_Linux上安装Mysql后除了本机其他机器不能访问的问题(zhuan)...

在Linux上安装MySQL后,其他机器无法连接到服务器,错误提示为'Host 'xxx.xxx.xxx.xxx' is not allowed to connect to this MySQL server'。解决方法包括检查iptables配置,开放3306端口,修改MySQL用户权限,特别是将host字段设为%。还需确保iptables规则的正确添加顺序,以及重启服务使更改生效。
摘要由CSDN通过智能技术生成

http://blog.sina.com.cn/s/blog_a338027c0101esbs.html

http://niutuku.com/tech/Mysql/237638.shtml

http://www.jb51.net/LINUXjishu/454409.html

********************************************

本机可以登陆了。但是其他机器的客户端登陆报错。

ERROR 1130 (00000): Host 'xxx.xxx.xxx.xxx' is not allowed to

connect to this MySQ

L server

首先查看了iptables的设置,添加开放了3306端口

iptables -A INPUT -p tcp -m tcp --sport 3306 -j

ACCEPT

iptables -A OUTPUT -p tcp -m tcp --dport 3306 -j

ACCEPT

service iptables save

service iptables restart

还是其他机器不能访问,估计是MYSQL权限问题。

在本机登陆

mysql -h localhost -u root -pkaishi

show databases;

use mysql;

select Host, User, Password from user;

+-----------------------+------+-------------------------------------------+

| Host | User | Password |

+-----------------------+------+-------------------------------------------+

| localhost | root | *18F54215F48E644FC4E0F05EC2D39F88D7244B1A

|

| localhost.localdomain | root | |

| localhost.localdomain | | |

| localhost | | |

+-----------------------+------+-------------------------------------------+

可以看到如上结果,只有localhost才设置了访问的权限

进入mysql,创建一个新用户user:

格式:grant 权限 on 数据库名.表名 用户@登录主机 identified by "用户密码"; 查看结果,执行:

use mysql;

select host,user,password from user;

可以看到在user表中已有刚才创建的user用户。host字段表示登录的主机,其值可以用IP,也可用主机名,将host字段的值改为%就表示在任何客户端机器上能以user用户登录到mysql服务器,建议在开发时设为%。

update user set host = '%' where user =

'sillycat';

flush privileges;

修改了权限后需要执行以上语句生效

********************************

vi /etc/sysconfig/iptables

在后面添加

-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT

service iptables restart

发现还是不行

最终发现记录要添加在

-A RH-Firewall-1-INPUT -p icmp --icmp-type any -j ACCEPT 这一条前面 再次重启 OK

****************************************

1、问题及异常

ThreadPoolAsynchronousRunner - com.mchange.v2.async.ThreadPoolAsynchronousRunner$DeadlockDetector@75d634ea -- APPARENT DEADLOCK!!! Complete Status:

Managed Threads: 3

Active Threads: 3

Active Tasks:

2、查找原因

费劲周知,确定是MySQL权限的问题

3、解决过程

1》 mysql -uroot -proot mydbName

2》 grant all privileges on *.* to wangs@‘%’ identified by ‘123456’;

3》 flush privileges;

4》 exit;

5》 /etc/init.d/mysql restart

4、命令的说明

进入 mysql ,用户为 root,密码为 root,数据库为 mydbName,-u 意为用户,-p 意为密码,

增加用户 wangs,所有权限,数据库为 *,后面的 .* 不可少,% 代表对所有远程的 IP 地址,如果要限定 IP 地址的话,单独写上 IP 地址,

密码是 123456,注意引号 ‘ 不可少,用来表示是字符串。

以上就是Linux系统下无法访问mysql的解决办法,用户在遇到同样故障时可根据问题的异常状况来找出原因,然后再对症下药的解决问题。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值