mysql的连接错误,MySQL连接错误解决方法

软件环境

操作系统:Ubuntu16.04-server

MySQL版本:5.7.25

故障一

只能通过localhost登录MySQL

报错如下

$mysql -h172.16.0.1 -uroot -p123456

mysql: [Warning] Using a password on the command line interface can be insecure.

ERROR 1130 (HY000): Host ‘172.16.0.1’ is not allowed to connect to this MySQL server

首先查看你的root用户允许的主机ip

mysql>SELECT host FROM mysql.user WHERE User = ‘root’;

+———–+

| host |

+———–+

| localhost |

+———–+

1 row in set (0.24 sec)

一般结果中只有localhost或同时有localhost和127.0.0.1;

然后如果你想指定允许某个ip可访问可执行如下命令

CREATE USER 'root'@'ip_address' IDENTIFIED BY 'some_pass';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'ip_address';

如果想要允许所有ip执行如下命令

CREATE USER 'root'@'%' IDENTIFIED BY 'some_pass';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

上面两种最后都要flush启用更改

FLUSH PRIVILEGES;

然后在执行一次查询会发现结果多了一行“%”,说明更改成功

+———–+

| host |

+———–+

| % |

+———–+

| localhost |

+———–+

1 row in set (0.24 sec)

再次登录如果仍旧失败,请看故障2

故障二

报错如下

$mysql -h172.16.0.1 -uroot -p123456

mysql: [Warning] Using a password on the command line interface can be insecure.

ERROR 2003 (HY000): Can’t connect to MySQL server on ‘172.16.0.1’ (111)

解决方法

查看mysql的配置文件

$vim /etc/mysql/mysql.conf.d/mysqld.cnf

将下面一行注释或者修改

注释

#bind-address = 127.0.0.1

修改

bind-address = 0.0.0.0

重启mysql启用更改

$service mysql restart

再次尝试登录即可成功登录!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值