mysql5.7设置远程访问的实现
mysql5.7设置远程访问不是和⽹上说的⼀样建个⽤户赋个权限就可以访问的。⽐如下边这个就是建⽤户赋权限,可能在之前的版本可以,但是我在我的mysql上⼀直不⾏。为此烦了好久项⽬都耽误了!!
⼀、原来设置远程访问的⽅式
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服务命令MySQL Server
必须加类似这样的帐户,才可以远程登陆。 root帐户是⽆法远程登陆的,只可以本地登陆
远程访问:
mysql -h172.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/myf配置⽂件把
#skip-networking 注释掉
加上bind-address=0.0.0.0
然⽽并没有卵⽤!
看得我都快背下来了!
后来我直接去看他的配置⽂件:在/etc/mysql⽂件夹下
点开图中的myf: 有下⾯⼀些话:
#
# * IMPORTANT: Additional settings that can override those from this file!
# 其他地⽅的配置可以覆盖此⽂件的配置
# The files must end with 'f', otherwise they'll be ignored.
#
!includedir /etc/mysql/conf.d/
!includedir /etc/f.d/
⽂件最后的两个路径我很好奇,就去看了下:conf.d/:
⾥边⼀个配置⽂件,打开发现,就⼀个[mysql],然后啥都没有。
再看另⼀个:
也有⼀个配置⽂件,打开发现有惊喜,就在这⾥边有⼀句话:
瞬间有种见到天⽇的感觉看它的注释就明⽩,只能本地连接,问题出在这!!把bind-address注释掉:#bind-address=...
重启mysql服务,远程链接:
mysql -h172.17.0.1 -uuser -p
我的⽤户名是:user
终于进去了,哈哈!!
到此这篇关于mysql5.7 设置远程访问的实现的⽂章就介绍到这了,更多相关mysql5.7 设置远程访问内容请搜索以前的⽂章或继续浏览下⾯的相关⽂章希望⼤家以后多多⽀持!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论