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

1285

被折叠的 条评论
为什么被折叠?



