MySQL升级到8.015后设置远程连接

本文详细介绍了如何在MySQL5和8版本中设置远程连接,包括登录MySQL、查看user表信息、设置root用户授权、允许远程访问及刷新权限等步骤。特别指出,MySQL8在创建账户和赋予权限时有所不同。

MySQL新老版本设置远程连接

简述

因为最近项目赶工要把网站部署到服务器上,团队的另一个队友很神奇的把服务器重置,并且把数据库直接线安了个最新版本的MySQL,本人本地数据库版本是5.6.24,因为里面太多数据,所以一直没升级,直到被坑了一波去捣鼓服务器上的8版本的MySQL,才发现两者居然差别那么大。

MySQL版本5的设置远程连接

其实网上好多方法都是针对5版本的,主要是很多人都像我一样不愿冒险去升级数据库。毕竟出啥出错无异于删库到跑路,更多的是觉得5版本的已经足够业务需求了,并且上手惯了。

1、登录MySQL

mysql -u root -p

2、查看mysql数据库中的user表信息

选择mysql数据库

mysql> use mysql;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed

查看user表中当前root的用户信息

select host, user, authentication_string, plugin from user;

如果root用户中的host默认显示localhost,表示只支持本地访问,不支持远程。

3、设置root用户授权所有权限

CREATE USER 'root'@'%' IDENTIFIED BY '你的密码';
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';

4、允许远程访问

最后设置为远程登录

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

GRANT ALL ON 表示所有权限,% 表示通配所有 host,可以访问远程。

5、刷新权限

flush privileges;

MySQL版本8的设置远程连接

其实新版本的MySQL在前面1、2、3步都一样,但是当你执行到4时,会报错在这里插入图片描述
这个错误一直困扰我好久,直到多次查阅网上的资料,才知道原来新版的的mysql版本已经将创建账户和赋予权限的方式分开了。
所以正确的姿势应该是

create user ‘root’@’%’ identified by ‘密码’;

赋权远程访问

grant all on 要远程访问的数据库名 to ‘root’@’%’ with grant option

修改权限时在后面加with grant option.
最后记得刷新权限

flush privileges;

参考博客

MySQL8.0本地访问设置为远程访问权限

新版SQL授权用户时报错 near ‘IDENTIFIED BY ‘密码’ with grant option’ at line 1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值