05-Mysql 用户管理

发布时间 2023-12-27 14:35:34作者: EJW

一、MySQL用户管理

用户定义:

user 主机范围
使用某个用户 从哪个(些)地址访问我的数据库

用户的功能:

1、用来登录mysql数据库

2、用来管理数据库对象(库、表)

权限

功能:针对不同用户设置对不同对象管理能力
select update delete insert create drop 。。。

权限范围:

*.* :全局范围
oldboy.* :单库级别
oldboy.t1 : 单表级别
grant   all     on  wordpress.*     to   wordpress@'10.0.0.%'    identified by  'oldboy123';
        权限        权限范围              用户名                                   密码

set password for root@localhost = password('123456'); #修改用户密码

修改密码(两种)
mysqladmin -u用户名 -p旧密码 password 新密码 

alter user 'root'@'%' identified by 'N9bZeqAl';

创建用户

create user zabbix@'10.0.0.%' identified by '123';

select user,host,password from mysql.user;
  • 删除掉无用的用户
drop user root@'db02';
drop user root@'127.0.0.1';
drop user root@'::1';
drop user ''@'localhost';
drop user ''@'db02';

用户授权

-- 用户授权

	grant   all     on  testdb.*     to   zabbix@'10.0.0.%';    
		权限		权限范围  			     用户						

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

-- 开发用户:


grant SELECT,INSERT, UPDATE, DELETE, CREATE, DROP  on  testdb.* to zabbix@'10.0.0.%'; 

-- 创建用户并授权

grant all on *.*  to   root@'10.0.0.%'  identified by '123';

-- 查询用户权限

show grants for zabbix@'10.0.0.%';
 
show grants for root@'10.0.0.%';

-- 收回权限


revoke create,drop  on testdb.*  from zabbix@'10.0.0.%'; #收回单个权限

revoke all on testdb.* from zabbix@'10.0.0.%'; #收回全部权限

思考:

grant select on  *.*    to   zabbix@'10.0.0.%' ;

grant INSERT, UPDATE, DELETE, CREATE, DROP  on  testdb.* to zabbix@'10.0.0.%'; 

grant update on testdb.t1 to zabbix@'10.0.0.%';

问:zabbix@'10.0.0.%'对T1表到底有什么权限?

结论,如果对某个用户在不同数据库级别都设置了权限,最终权限相叠加,及加起来的最大权限为准。

建议:尽量不要多范围授权。

mysql接口自带的功能
1、\h 或 help 或 ?
2、\G
3、\T 或 tee
4、\c 或 CTRL+c
5、\s 或 status
6、\. 或 source
	执行外部SQL脚本:二进制日志截取、备份出来的SQL脚本
7、\u 或use