centos7 开启mysql5.7远程连接授权并连接

centos7 开启mysql5.7远程连接授权并连接

Aledsan 2020-04-13 11:48:46 302 收藏
展开
在centos7安装了mysql数据库,却发现只能本地连接,那么如何来实现远程连接呢, 下面就讲述如何开启mysql5.7远程连接授权并远程连接。

一、远程连接授权
如果要用第三方工具,如Navicat启用远程访问,是要授权的,因为mysql默认禁止远程访问
这里我们有两种方法,一种是下面这种sql语句授权

GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘xxx’ WITH GRANT OPTION;
1
其中%是指所有的ip地址,当然你可以设定具体的ip地址,把账户绑定在某个ip地址下; 而xxx具体就是指用户的密码,注意,这里是一个写法格式,root ,%和xxx都是可以换的

还有一种就是如下
查看表

show databases; -显示数据库
use mysql; -进入库
1
2

用select host,user from user;命令发现root用户的host是localhost,localhost 表示只能进行本地访问,不能进行远程连接

我们修改一些权限即可,把root用户的host改为%

update user set host = “%” where user = “root”;
1

最后再刷新一下权限就完成了,其实本质上跟第一种差不多,关键看你喜欢用哪种:

flush privileges;
1

弄完之后用Navicat测试连接,如果能连接上就是成功了,如若不能,那就可能是防火墙限制了。需要在防火墙里面加开放数据库端口的规则。所以我们还要多做一步:防火墙开放数据库端口(默认3306,可以在/etc/my.cnf中修改)

二、防火墙开放数据库端口
(如果防火墙没开就不用多此一举了)

1.查看目前防火墙,这是也是在root权限下执行的

firewall-cmd --list-all
1
可以看到这里开放端口是空的,3306很明显没有开放

2.开放3306端口

firewall-cmd --permanent --add-port=3306/tcp
1
显示成功

3.重启防火墙
弄完之后我们需要重新启动防火墙,避免一些不必要的错误

service firewalld restart
1

4.查看3306端口是否开放
重启后我们检查一下是否生效了

firewall-cmd --query-port=3306/tcp
1

可以再次查看现在防火墙firewall-cmd --list-all

5.最后再次测试是否可以远程连接

————————————————
版权声明:本文为CSDN博主「Aledsan」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_43465312/article/details/105484627

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章