时间:2021-02-10来源:www.pcxitongcheng.com作者:电脑系统城
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帐户是无法远程登陆的,只可以本地登陆
另外你也可以在一个机器上模拟远程访问,就是多开几个终端,方便测试是否可以远程访问。
我发现一个问题, 如果上面的命令你执行完毕, 你在 本地就是localhost , 执行 :
1 | mysql -hlocalhost -uadmin -padmin |
结果是失败的。
原来 上面的 % 竟然不包括localhost
所以你还必须加上这样的 命令:
1 | mysql> GRANT ALL ON *.* TO admin@ 'localhost' IDENTIFIED BY 'admin' WITH GRANT OPTION ; |
我在按照上边的方法设置后,发现用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 设置远程访问的实现的文章就介绍到这了
2023-10-30
windows上的mysql服务突然消失提示10061 Unkonwn error问题及解决方案2023-10-30
MySQL非常重要的日志bin log详解2023-10-30
详解MySQL事务日志redo log一、单表查询 1、排序 2、聚合函数 3、分组 4、limit 二、SQL约束 1、主键约束 2、非空约束 3、唯一约束 4、外键约束 5、默认值 三、多表查询 1、内连接 1)隐式内连接: 2)显式内连接: 2、外连接 1)左外连接 2)右外连接 四...
2023-10-30
Mysql删除表重复数据 表里存在唯一主键 没有主键时删除重复数据 Mysql删除表中重复数据并保留一条 准备一张表 用的是mysql8 大家自行更改 创建表并添加四条相同的数据...
2023-10-30