【Grant】mysql 用户创建和授权
MySQL授权命令grant的使用方法
-- 查看当前用户(自己)权限:
show grants;
-- 查看某一个用户的
show grants for 'devuser'@'%';
-- 授权某个数据库给某个用户
GRANT ALL PRIVILEGES ON `kafka_center`.* TO 'devuser'@'%'
-- 创建一个用户
CREATE USER aa_name@'%' IDENTIFIED BY 'Password@2022';
-- 授权全部权限给这个用户(危险)
GRANT ALL ON *.* TO aa_name@'%';
背景:工作一直用的是 mysql5.7, 近来在本地用docker安装了一个mysql8.0.18, 想连接的时候,失败,想起原来还没有授权所有用户
平时授权的语法是这样子的:
(1)登录mysql
(2)grant all privileges on *.* to root@'%' identified by '123456' with grant option;
(3)flush privileges;
就可以了。
但这个写法,在mysql8的时候,会报语法错误。
此记录Mysql8的授权方式:
(1)登录mysql
(2)use mysql;
(3)update user where host = "%" where user="root"; (其实并不知道这种方式是不是靠谱的,但网上试了一些方法,感觉并不太好使)
(4)FLUSH PRIVILEGES;
在找到更加“靠谱”的方法,先这样做着先吧。其实感觉就是最终还是改了这么一个 地方。(让原来是仅本地访问,现在开放全部Ip都可以访问)