CentOS7中远程访问mysql问题

问题

CentOS7安装mysql中已经完成在CentOS7中安装好了mysql,且创建好了相应的用户,并设置对应的用户密码,现在尝试通过命令行远程命令访问mysql。

防火墙

mysql --host=xxx.xxx.200.58 --port=3306 -u myuser -p
Enter password: 
ERROR 2003 (HY000): Can't connect to MySQL server on 'xxx.xxx.200.58' (61)

看到这个现象,可以判定为CentOS的防火墙挡住了。

firewall-cmd

# 查看firewall-cmd所知道是所有服务,这里主要关注mysql
firewall-cmd --get-services
# 把mysql服务暴露在外面,主要就是开放3306端口
firewall-cmd --zone=public --add-service=mysql --permanent
# 重启firewall
firewall-cmd --reload

注意:上面是比较粗放的权限控制,因为在局域网里面,更加细粒度的端口开放,应该参考下面的命令。

# 防火墙更加细粒度的权限开放
firewall-cmd --add-rich-rule 'rule family="ipv4" source address="$your_IP_or_IP_Range" service name="mysql" accept' --permanent

数据库

mysql --host=xxx.xxx.200.58 --port=3306 -u myuser -p
Enter password: 
ERROR 1130 (HY000): Host 'xxx.xxx.200.58' is not allowed to connect to this MySQL server

Mysql8

临时设置用户永许任何ip都可以访问

mysql> GRANT ALL ON mydb.* TO 'myuser'@'%';
Query OK, 0 rows affected (0.07 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)

这个问题是Mysql要设置指定远程ip能够访问。

参考

转载于:https://my.oschina.net/fxtxz2/blog/2991844

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值