MySQL5.7用户即权限管理
MySQL5.7修改了很多新特性, 特别是在用户管理方面, 已经截然不同.
注释:
部分新特性
# mysql_native_password详解
mysql.user表新增plugin列,且若某账户该字段值为空则账户不能使用。从低版本MySQL升级至MySQL5.7时要注意该问题,且建议DBA将使用mysql_old_password插件的账户替换为使用 mysql_native_password插件。
意为者设置账户后,要用update user set plugin="mysql_native_password"; 来设置一下.
特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了
而是将加密后的用户密码存储于 authentication_string 字段,这就意味着,设置密码时要用这个字段来指定密码.
每次创建新用户必须刷新权限表:
flush privileges;
mysql 新设置用户或更改密码后需用flush privileges刷新MySQL的系统权限相关表,否则会出现拒绝访问,还有一种方法,就是重新启动mysql服务器,来使新设置生效
user: 登录的用户名
host: 指定可以访问的地址 %为任意地址
authentication_string: 登录密码
privileges: 权限,可指定,SELECT, INSERT, UPDATE,CREATE....之类的.对库或表的权限,ALL代表所有权限.
databasename.tablename: 指定权限针对XX库下的XX表; databasename.*代表整个库; *.*代表整个MySQL.