mysql5.7 设置远程访问的实现

吾爱主题 阅读:175 2024-04-02 07:59:58 评论:0

mysql5.7设置远程访问不是和网上说的一样建个用户赋个权限就可以访问的。比如下边这个就是建用户赋权限,可能在之前的版本可以,但是我在我的mysql上一直不行。为此烦了好久!!!项目都耽误了!!

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

 

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

在mysql server端: 

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

sql代码 

?
1 mysql> use mysql;  mysql> grant all on *.* to user @ '%' identified by '123456' with grant option

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

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

远程访问:

  • mysql -h172.21.5.29 -uuser -p123456  即可了
  • //172.21.5.29就是mysql server的ip地址,user就是刚才在 172.21.5.29上设置的远程访问帐户

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

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

?
1 mysql -hlocalhost -uadmin -padmin 

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

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

?
1 mysql> grant all on *.* to admin@ 'localhost' identified by 'admin' with grant option ;

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

 

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

?
1 #skip-networking 注释掉

加上bind-address=0.0.0.0

然而并没有卵用!

看得我都快背下来了!

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

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

?
1 2 3 4 5 6 7 8 9 # # * 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/:

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

再看另一个:

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

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

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

重启mysql服务,远程链接:

?
1 mysql -h172.17.0.1 -uuser -p

我的用户名是:user

终于进去了,哈哈!!

到此这篇关于mysql5.7 设置远程访问的实现的文章就介绍到这了,更多相关mysql5.7 设置远程访问内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/yanxilou/article/details/104433693

可以去百度分享获取分享代码输入这里。
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

【腾讯云】云服务器产品特惠热卖中
搜索
标签列表
    关注我们

    了解等多精彩内容