版权声明:未经协商,禁止转载 https://blog.csdn.net/CHENFU_ZKK/article/details/82722379
查看用户:
如果进入了mysql库:SELECT *FROM USER;
没有进入mysql库内:SELECT *FROM mysql.USER;
创建用户:
CREATE USER ‘username’@’host’ IDENTIFIED BY ‘password’;
host:可以是具体的IP,也可以用通配符 “%” 来指定任何IP
-- 创建用户
CREATE USER 'pwdManager'@'%' IDENTIFIED BY '1010';
授予权限:
GRANT privileges ON dbname.tablename TO ‘username’@’host’
- privileges:值可以是SELECT,INSERT,UPDATE等,如果要授予所的权限则用ALL
- dbname:数据库名
- tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如.*
-- 赋予权限
GRANT ALL ON pwddb.pwdManager TO 'pwdManager'@'%'
-- 刷新权限
FLUSH PRIVILEGES;
撤销权限:
REVOKE privilege ON dbname.tablename FROM ‘username’@’host’;
- privilege :赋予的权限
- dbname:数据库名
- tablename :表名
-- 撤销权限
REVOKE ALL ON pwddb.pwdManager FROM 'pwdManager'@'%';
-- 刷新权限
FLUSH PRIVILEGES;
删除用户:
DROP USER ‘username’@’host’;
-- 删除用户
DROP USER 'pwdManager'@'%';
修改密码:
修改密码有多种方式:
- 修改当前用户的密码(最简单的方式)
SET PASSWORD=PASSWORD(‘newPassword’);
-- 修改当前用户的密码
SET PASSWORD=PASSWORD('111');
- 修改指定用户密码(当前用户也可以只用)
SET PASSWORD FOR ‘username’@’host’ = PASSWORD(‘newpassword’);
-- 修改指定用户的密码
SET PASSWORD FOR 'pwdManager'@'%' = PASSWORD('123456');
- 修改authentication_string字段
-- mysql57版本的修改密码方式(会产生一个警告)
UPDATE MySQL.user SET authentication_string=PASSWORD('1234') WHERE USER='pwdManager'
-- 必须进行刷新操作,否则新密码不生效
FLUSH PRIVILEGES;
通常都是在安装MySQL5.7的时候使用最后一种修改密码方式
在安装的时候如果没有更改密码,后来通过免密码登录的方式更改密码,输入update mysql.user set password=password(‘root’) where user=’root’时会提示一个错误:
ERROR 1054 (42S22): Unknown column ‘password’ in ‘field list’
原来是mysql数据库下已经没有password这个字段了,password字段改成了authentication_string
所以更改语句替换为update MySQL.user set authentication_string=password(‘root’) where user=’root’ ;即可