【声明:】本文是作者(蘑菇v5)原创,版权归作者 蘑菇v5所有,侵权必究。本文首发在简书。如若转发,请注明作者和来源地址!未经授权,严禁私自转载!
报错原因:
不同版本mysql,语法有点出入,
原来5.7:
GRANT ALL ON itat_shop.* to 'itat'@'localhost' IDENTIFIED BY 'itat123';
mysql-8.0.11-winx64:
GRANT ALL ON itat_shop.* to 'itat'@'localhost'
即可。
新版本Mysql:新建用户和授权
-
创建用户:
CREATE USER 'aaa'@'%' IDENTIFIED BY '123456';
表示创建新的用户,名为aaa
,新用户密码为123456
,'%'
表示允许远程登陆但是不允许本机登录
CREATE USER 'bbb'@'%' IDENTIFED BY '123456';
//表示新创建的用户,名为bbb
,这个用户密码为123456
,可以从其他电脑远程登陆mysql
所在服务器
CREATE USER 'ccc'@'%';
//表示新创建的用户ccc
,没有密码,可以从其他电脑远程登陆mysql
服务器
-
授权用户:
GRANT ALL PRIVILEGES ON appmetadataDB.* TO 'aaa'@'%';
表示将数据库appmetadatadb
下的所有表授权给用户aaa
。这样用户名aaa
就能远程访问到这个数据库(appmetadatadb
)下的所有表。写入user
表,但是并没有及时写入权限表(grant table
)。
-
刷新权限表:
flush privileges
执行这个命令的原因是,需要将新加入的用户写入到权限表中,即更新grant table