mysql常用操作-用户和授权

本文详细介绍MySQL数据库的权限管理系统,包括用户创建、权限分配、权限回收等核心操作步骤。涵盖远程登录、用户列表查询、权限列表解析及具体权限的授予与撤销方法。

1 登录

本地登录
mysql -uroot -p123456 -P3306

远程登录
mysql -uroot -p -h192.168.137.10 -P3306

2 使用数据库mysql

use mysql

3 查看host和user列表

select host,user from user;

4  查看当前用户

select user();

4.1 授权用户

#生产环境不要root@'%' 用root@'localhost' 
grant all on *.* to root@'%' identified by '123456';

# 授权给dev的账号,去掉DELETE,DROP,CREATE USER,SUPER,SHUTDOWN权限
grant SELECT,INSERT, UPDATE, CREATE, RELOAD, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER, CREATE TABLESPACE on *.* to 'dev'@'%' identified by 'xatwsz.com' with grant option;

#刷新系统权限相关表数据
flush privileges;
-- 权限列表
ALL [PRIVILEGES]    -- 设置除GRANT OPTION之外的所有简单权限
ALTER    -- 允许使用ALTER TABLE
ALTER ROUTINE    -- 更改或取消已存储的子程序
CREATE    -- 允许使用CREATE TABLE
CREATE ROUTINE    -- 创建已存储的子程序
CREATE TEMPORARY TABLES        -- 允许使用CREATE TEMPORARY TABLE
CREATE USER        -- 允许使用CREATE USER, DROP USER, RENAME USER和REVOKE ALL PRIVILEGES。
CREATE VIEW        -- 允许使用CREATE VIEW
DELETE    -- 允许使用DELETE
DROP    -- 允许使用DROP TABLE
EXECUTE        -- 允许用户运行已存储的子程序
FILE    -- 允许使用SELECT...INTO OUTFILE和LOAD DATA INFILE
INDEX     -- 允许使用CREATE INDEX和DROP INDEX
INSERT    -- 允许使用INSERT
LOCK TABLES        -- 允许对您拥有SELECT权限的表使用LOCK TABLES
PROCESS     -- 允许使用SHOW FULL PROCESSLIST
REFERENCES    -- 未被实施
RELOAD    -- 允许使用FLUSH
REPLICATION CLIENT    -- 允许用户询问从属服务器或主服务器的地址
REPLICATION SLAVE    -- 用于复制型从属服务器(从主服务器中读取二进制日志事件)
SELECT    -- 允许使用SELECT
SHOW DATABASES    -- 显示所有数据库
SHOW VIEW    -- 允许使用SHOW CREATE VIEW
SHUTDOWN    -- 允许使用mysqladmin shutdown
SUPER    -- 允许使用CHANGE MASTER, KILL, PURGE MASTER LOGS和SET GLOBAL语句,mysqladmin debug命令;允许您连接(一次),即使已达到max_connections。
UPDATE    -- 允许使用UPDATE
USAGE    -- “无权限”的同义词
GRANT OPTION    -- 允许授予权限

4.2 查看用户权限

show grants for root@'%';

4.3 用户的操作 
4.3.1 建用户
mysql> create user oldboy@'10.0.0.%' identified by '123';
Query OK, 0 rows affected (0.00 sec)

说明:
8.0以前,可以自动创建用户并授权
mysql> grant all on *.* to oldguo@'10.0.0.%' identified by '123';

4.3.2 查询用户
mysql> select user,host from mysql.user;

4.3.3 修改用户密码
mysql> alter user oldguo@'10.0.0.%' identified by '123456';

修改用户名或主机
rename user admin@'192.168.67.%';to admin@'192.168.67.10';

4.3.4 删除用户
mysql> drop user oldguo@'10.0.0.%' ;

4.4 权限管理
4.4.1 权限列表
ALL 
SELECT,INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE


with grant option

4.4.2 授权命令
grant all on *.* to tangbin@'10.0.0.%' identified by '123' with grant option;

如果提示 Your password does not satisfy the current policy requirements

解决方法

先查看
SHOW VARIABLES LIKE 'validate_password%';
5.7版本修改
set global validate_password_policy=0;
set global validate_password_length=1;
8.0版本修改
set global validate_password.policy=0;
set global validate_password.length=1;

grant 权限  on 作用目标  to 用户  identified by 密码 with grant option;

grant SELECT,INSERT, UPDATE, DELETE, CREATE on wordpress.* to 

作用目标:
*.*
wordpress.* 
worpress.t1 

4.4.3 授权需求
1. 创建一个管理员用户root,可以通过10网段,管理数据库.
grant all on *.* to root@'10.0.0.%' identified by '123' with grant option;

1. 创建一个应用用户wordpress,可以通过10网段,wordpress库下的所有表进行SELECT,INSERT, UPDATE, DELETE.
grant SELECT,INSERT, UPDATE, DELETE on wordpress.* to wordpress@'10.0.0.%' identified by '123';

4.4.4 回收权限
show  grants for wordpress@'10.0.0.%'; 
mysql> revoke delete on wordpress.*  from 'wordpress'@'10.0.0.%';
查看用户权限
mysql> show  grants for wordpress@'10.0.0.%';
添加用权限
mysql> grant DELETE on wordpress.* to 'wordpress'@'%';

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值