mysql5.7设置远程访问不是和网上说的同样建个用户赋个权限就能够访问的。好比下边这个就是建用户赋权限,可能在以前的版本能够,可是我在个人mysql上一直不行。为此烦了很久!!!项目都耽误了!!mysql
Mysql默认是不能够经过远程机器访问的,经过下面的配置能够开启远程访问
在MySQL Server端:
执行mysql 命令进入mysql 命令模式,
sql
#这句话的意思 ,容许任何IP地址(上面的 % 就是这个意思)的电脑 用admin账户 和密码(admin)来访问这个MySQL Server ide
#必须加相似这样的账户,才能够远程登录。 root账户是没法远程登录的,只能够本地登录 测试
另外你也能够在一个机器上模拟远程访问,就是多开几个终端,方便测试是否能够远程访问。this
结果是失败的。
原来 上面的 % 居然不包括localhost
因此你还必须加上这样的 命令:
mysql>GRANT ALL ON *.* TO admin@'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION; spa
我在按照上边的方法设置后,发现用mysql -h 并不能远程访问,修改了/etc/my.cnf配置文件把3d
#skip-networking 注释掉
加上bind-address=0.0.0.0blog
然而并无卵用!ip
看得我都快背下来了!开发
后来我直接去看他的配置文件:在/etc/mysql文件夹下
点开图中的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/:
里边一个配置文件,打开发现,就一个[mysql],而后啥都没有。
再看另外一个:
也有一个配置文件,打开发现有惊喜,就在这里边有一句话:
瞬间有种见到天日的感受!!!看它的注释就明白,只能本地链接,问题出在这!!
把bind-address注释掉:#bind-address=...
重启mysql服务,远程连接:
//个人用户名是:user
终于进去了,哈哈!!
为了这个折腾了两天!!!我是服气mysql的!!