温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何在mysql5.7中设置远程访问

发布时间:2021-02-18 14:35:05 来源:亿速云 阅读:639 作者:Leah 栏目:开发技术

本篇文章给大家分享的是有关如何在mysql5.7中设置远程访问,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

一、原来设置远程访问的方式

Mysql默认是不可以通过远程机器访问的,通过下面的配置可以开启远程访问 

在MySQL Server端: 

执行mysql 命令进入mysql 命令模式, 

Sql代码 

mysql> use mysql;  mysql> GRANT ALL ON *.* TO user@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

这句话的意思 ,允许任何IP地址(上面的 % 就是这个意思)的电脑 用admin帐户  和密码(admin)来访问这个MySQL Server  

必须加类似这样的帐户,才可以远程登陆。 root帐户是无法远程登陆的,只可以本地登陆  

远程访问:

  • mysql -h272.21.5.29 -uuser -p123456  即可了

  • //172.21.5.29就是MySQL Server的IP地址,user就是刚才在 172.21.5.29上设置的远程访问帐户

另外你也可以在一个机器上模拟远程访问,就是多开几个终端,方便测试是否可以远程访问。

我发现一个问题, 如果上面的命令你执行完毕, 你在 本地就是localhost , 执行 :

mysql -hlocalhost -uadmin -padmin

结果是失败的。 
原来 上面的 % 竟然不包括localhost 

所以你还必须加上这样的 命令:

mysql>GRANT ALL ON *.* TO admin@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION;

二、mysql5.7中设置远程访问

我在按照上边的方法设置后,发现用mysql -h 并不能远程访问,修改了/etc/my.cnf配置文件把

#skip-networking 注释掉

加上bind-address=0.0.0.0

然而并没有卵用!

看得我都快背下来了!

后来我直接去看他的配置文件:在/etc/mysql文件夹下

如何在mysql5.7中设置远程访问

点开图中的my.cnf:  有下面一些话:

#
# * IMPORTANT: Additional settings that can override those from this file!

# 其他地方的配置可以覆盖此文件的配置
# The files must end with '.cnf', otherwise they'll be ignored. 
#

!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mysql.conf.d/

文件最后的两个路径我很好奇,就去看了下:conf.d/:

如何在mysql5.7中设置远程访问

里边一个配置文件,打开发现,就一个[mysql],然后啥都没有。

再看另一个:

如何在mysql5.7中设置远程访问

也有一个配置文件,打开发现有惊喜,就在这里边有一句话:

如何在mysql5.7中设置远程访问

瞬间有种见到天日的感觉!!!看它的注释就明白,只能本地连接,问题出在这!!

把bind-address注释掉:#bind-address=...

重启mysql服务,远程链接:

mysql -h272.17.0.1 -uuser -p

我的用户名是:user

终于进去了,哈哈!!

如何在mysql5.7中设置远程访问

以上就是如何在mysql5.7中设置远程访问,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI