遇到的问题:按照MySQL5.6版本之前的语句对MySQL5.7版本执行创建数据库、添加用户并对用户授权操作后,该授权用户只能连接到数据库,但是执行不了任何操作,更是创建不了数据表。
解决问题:通过测试,发现在MySQL5.7版本中,要授权用户对所有数据库有SUPER权限,否则该授权用户只能连接数据库并不能执行任何操作。
数据库名称:test
数据库用户名:testuser
数据库密码:test123
Create DATABASE IF NOT EXISTS test default charset utf8 COLLATE utf8_general_ci; #创建数据库
#MySQL5.7版本建议先创建用户,再给用户进行授权操作。
CREATE USER 'testuser'@'localhost' IDENTIFIED BY 'test123'; #创建用户
CREATE USER 'testuser'@'127.0.0.1' IDENTIFIED BY 'test123';
GRANT ALL PRIVILEGES ON test.* TO testuser@'localhost' IDENTIFIED BY 'test123' WITH GRANT OPTION; #授权用户
GRANT ALL PRIVILEGES ON test.* TO testuser@'127.0.0.1' IDENTIFIED BY 'test123' WITH GRANT OPTION; #授权用户
#MySQL5.7版本要授权用户对所有数据库有SUPER权限,否则上一步对用户的授权只能连接但无任何操作权限。
grant SUPER on *.* to 'testuser'@'localhost' ; #授予用户对所有数据库有SUPER权限,否则只能连接无任何操作权限。
grant SUPER on *.* to 'testuser'@'127.0.0.1' ;
flush privileges; #刷新系统授权表
至此,MySQL5.7版本下创建数据库添加用户并对用户进行授权完成。