mysql用户相关操作

使用用户登录

mysql -u username -p
# 执行后会提示输入密码

查看用户信息

# 切换到mysql系统数据库
use mysql;
# 查询用户信息
select * from mysql.user;
# 展示的数据太多,只取需要的
select host, user from mysql.user;

创建用户

CREATE USER 'username'@'host' IDENTIFIED BY 'password'

  1. username: 用户名
  2. host: 指定用户能在哪个主机上登录,如果是localhost,是指定只能本机登录。如果使用通配符%,则可以让该用户从任意主机登录
  3. password: 登录密码,如果为空则不用密码登录

删除用户

  • 删除用户
DELETE FROM mysql.user WHERE USER='username' and HOST='host';
  1. username: 要删除的用户名
  2. host: 要删除用户的host
  • 刷新缓存
flush privileges;
  • 删除账户及权限
DROP USER 'username'@'host';

修改制定用户密码

  1. 一种
SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');

如果是当前登陆用户用:

SET PASSWORD = PASSWORD("newpassword");
  1. 另一种
UPDATE mysql.user SET PASSWORD=PASSWORD('新密码') WHERE USER="test" and HOST="localhost";

然后刷新缓存

flush privileges;

给用户授权

GRANT privileges ON databasename.tablename TO 'username'@'host'
  1. privileges:用户的操作权限,如SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL
  2. databasename:数据库名
  3. tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用*表示,如*.*

撤销用户权限

REVOKE privilege ON databasename.tablename FROM 'username'@'host';

注意:授权时是什么权限,撤销就要对应的权限,如果用*和ALL去撤销某个授权会失败

你可能感兴趣的:(mysql用户相关操作)