MySQL之用户及权限操作


提示:以下是本篇文章正文内容,MySQL 系列学习将会持续更新

一、查看用户权限

①查看所有用户

select distinct user from mysql.user;
# 查看用户及可访问主机
select user,host from mysql.user;

②查看用户权限

show grants for root@'localhost';

在这里插入图片描述

二、用户操作

①创建新用户

# 方法一:
CREATE USER 'username'@'host' IDENTIFIED BY 'password';
# 方法二:直接向mysql.user表中插入新用户信息
insert into user (host,user,password) values ('%','test2',password('123'));

②删除用户

DROP USER 'username'@'host'; 

说明:

  • username:你将创建的用户名
  • host:指定该用户在哪个主机上可以登陆,如果是本地用户可用 localhost,如果想让该用户可以从任意远程主机登陆,可以使用通配符 %
  • password:该用户的登陆密码,密码可以为空,如果为空则该用户可以不需要密码登陆服务器

举例

create user 'test'@'%' identified by '123456';

三、权限操作

①给用户授权:

# 超级用户可以这样授权:
GRANT privileges ON databasename.tablename TO 'username'@'host';
# 用以上指令得到授权的普通用户,想给其它用户授权只能使用以下指令:
GRANT privileges ON databasename.tablename TO 'username'@'host' WITH GRANT OPTION;

②撤销用户权限

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

③刷新系统权限表

flush privileges;

说明:

  • privileges:用户的操作权限,如 SELECT,INSERT,UPDATE 等,如果要授予所的权限则使用ALL
  • databasename:数据库名
  • tablename:表名,如果要授予该用户对所有数据库和表的相应操作权限则可用表示,如 *

举例

# 给该用户赋予对所有库表的所有操作权限
grant all on *.* to 'test'@'%';
# 仅仅给该用户赋予library库中所有表的增查操作权限
grant select,insert on library.* to 'test2'@'%';

四、更改用户密码

SET PASSWORD FOR 'username'@'host' = PASSWORD('newpassword');
# 如果是当前登陆用户用:
SET PASSWORD = PASSWORD("newpassword");

例子:

set password for 'test'@'%' = password("654321");

回到目录…


总结:
提示:这里对文章进行总结:
本文是对MySQL的学习,学习如何创建新用户,并且给用户授权。之后的学习内容将持续更新!!!

猜你喜欢

转载自blog.csdn.net/qq15035899256/article/details/129717005