一、前言
javaWeb项目使用的是mysql数据库,以前使用的是mysql5.6.10版本,为了提高性能和解决mysql漏洞问题,将mysql提升到mysql8.0.16版本,初次升级数据库版本碰到很多烧脑问题,首先在安装mysql8时碰到的缺少补丁的问题参照此文档,其中关于授权问题下面道来。
二、操作
首先我们必须知道,mysql8的授权已经不是对用户直接授予权限,而是需要建立一个角色,对角色授予权限,然后再将这个角色赋予某个用户
-- mysql8部署执行语句
-- 修改数据库密码认证方式(不修改密码则不执行)
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'chatsure!@#456';
-- root用户设置为可远程连接(注意:需要在mysql数据库下执行)
update user set host='%' where user='root';
-- 给用户授权
grant all privileges on *.* to 'root'@'%' with grant option
-- 创建角色
create role 'role_all'
-- 给角色授权
grant all privileges on *.* to role_all;
-- 给用户添加角色
grant role_all to 'root'@'%';
-- 刷新权限
flush privileges;