用户

查询用户列表

  1. -- 查询用户列表
  2. SELECT HOST,USER FROM mysql.USER;

创建用户

-- 用户: 你要创建的用户名
-- 密码: 包含大小写字母以及数字和符号
-- 范围: localhost 默认本地; 
--   OR 192.168.%.& 限制指定网管内IP 
--   OR % 全部IP
-- mysql_native_password 是MySQL5 的一种加密方式; 目前MySQL8新的加密方式支持的较少; 还是推荐使用 mysql_native_password
-- CREATE USER IF NOT EXISTS '用户名'@'范围' IDENTIFIED WITH mysql_native_password BY '密码';
CREATE USER IF NOT EXISTS 'shop'@'%' IDENTIFIED WITH mysql_native_password BY 'lxsqaz123!@#';
-- 刷新
flush privileges;

修改密码

-- 用户: 你要创建的用户名
-- 密码: 包含大小写字母以及数字和符号
-- 范围: localhost 默认本地; 
--   OR 192.168.%.& 限制指定网管内IP 
--   OR % 全部IP
-- ALTER USER '用户'@'范围' IDENTIFIED WITH mysql_native_password BY '密码';
ALTER USER 'shop'@'%' IDENTIFIED WITH mysql_native_password BY 'lxsqaz123!@#!@#';
flush privileges;

删除用户

-- 删除用户
DROP USER 'shop'@'%';
flush privileges;

远程连接

-- 切换数据库
use mysql;

-- 查询数据库用户
SELECT User, Host FROM user;

-- 修改远程登录
CREATE USER IF NOT EXISTS 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'lxsqaz123';

权限

显示数据库权限

-- 查询权限
select * from mysql.user;

ALL 全部 Alter
Alter Routine Create Create Routine Create Temporary Tables Create User Create View Delete, Drop Event Execute File Grant Option Index Insert Lock Tables Process References Reload Replication Client Replication Slave Select, Show Databases Show View Shutdown Super Trigger Update

查询用户权限

-- 查询权限
SHOW GRANTS FOR 'shop'@'%';

赋予权限

-- 权限 ALL 表示全部
-- GRANT 权限 PRIVILEGES ON *.* TO '用户名'@'范围' WITH GRANT OPTION;
GRANT ALL PRIVILEGES ON *.* TO 'shop'@'%' WITH GRANT OPTION;
flush privileges;

-- 赋予数据库权限
GRANT ALL PRIVILEGES ON mysql.* TO 'shop'@'%' WITH GRANT OPTION;
flush privileges;

-- 多个权限之间用逗号隔开
GRANT Alter,Insert PRIVILEGES ON *.* TO 'shop'@'%' WITH GRANT OPTION;
flush privileges;

撤销权限

-- 多个权限之间用逗号隔开
REVOKE Update ON *.* FROM 'shop'@'%';
-- 撤销数据库权限
REVOKE ALL ON mysql.* FROM 'shop'@'%';
flush privileges;

角色

查询角色

-- 查询全部角色
select * from role_edges ;

创建角色

-- 创建角色
CREATE ROLE 'test';

删除角色

-- 删除橘色
DROP role 'test';

角色与权限

-- 赋予权限
GRANT ALL PRIVILEGES ON *.* TO 'test';

-- 撤销权限
REVOKE ALL ON *.* FROM 'test';

-- 查询权限
SHOW GRANTS FOR 'test';

flush privileges;

用户与角色

-- 为用户分配角色
GRANT 'test' TO 'shop'@'%';

-- 分配多个角色
GRANT 'test','test2' TO 'shop'@'%';

flush privileges;

锁定/解锁用户

当对一个异常的账号处于怀疑状态时候可以将此账号冻结,然后确认后进行解冻。

-- 锁定
ALTER USER 'shop'@'%' ACCOUNT LOCK;
-- 解锁
ALTER USER 'shop'@'%' ACCOUNT UNLOCK;