四、mysql用户、权限管理
一、数据库用户定义
登录,管理数据库逻辑对象
2、用户的定义方式
用户名@'用户所在的位置' 类似于白名单支持的方式 ywx@'10.0.0.%' #ywx用户在10.0.0.0/24网段可以访问数据库 ywx@'%' #ywx用户在所有网段都可以访问数据库 ywx@'10.0.0.200' #只有在主机10.0.0.200上的ywx用户才嫩访问数据库 ywx@'localhost' #数据库本地的ywx用户才能访问数据库 ywx@'db01' #ip地址解析为db01的主机上的ywx用户可以访问数据库 ywxs@'10.0.0.5%' #10.0.0.50-59主机上ywx用户可以访问数据库 ywx@'10.0.0.0/255.255.254.0' #ywx用户在10.0.0.0/255.255.254.0上可以访问数据库
3、用户的管理操作:
新增用户: mysql> create userywx@'10.0.0.%' identified by '123'; 查看用户: mysql> desc mysql.user; ----> authentication_string #desc查看表结构(列信息) mysql> select user ,host ,authentication_string from mysql.user 修改用户密码: mysql> alter user ywx@'10.0.0.%' identified by '456'; 输出用户: mysql> drop user ywx@'10.0.0.%';
1、常用权限介绍:
mysql数据库的所有权限:
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
ALL : 以上所有权限,一般是普通管理员拥有的
with grant option:超级管理员才具备的,给别的用户授权的功能
2、给用户分配权限的管理操作:
mysql> grant all on wordpress.* to wordpress@'10.0.0.%' identified by '123';
3、权限作用范围:
*.* ---->管理员用户(对应的所有库所有表) wordpress.* ---->开发和应用用户(对应wordpress库的所有表) wordpress.t1 ---->不常用(对应wordpress库的t1表)
需求1:windows机器的navicat登录到linux中的MySQL,管理员用户。
mysql>grant all on *.* to root@'192.168.32.%' identified by '123456';
mysql>create user app@'192.168.32.%' identified by '123456'; mysql>grant select,update,delete,insert on app.* to app@'192.168.32.%'; #mysql8.0中的grant命令新特性 或 mysql>grant select,update,delete,insert on app.* to app@'192.168.32.%' identified by '123456';
提示:8.0在grant命令添加新特性
建用户和授权分开了
grant 不再支持自动创建用户了,不支持改密码
授权之前,必须要提前创建用户。
开发人员用户授权流程
1.需要什么权限 2.对哪些库操作 3.在哪些主机上远程连接数据库 4.密码要求
4、查看用户的授权
mysql>show grants for ywx@'192.168.32.202';
5、回收权限
mysql>revoke delete on wordpress.* from ywx@'192.168.32.201';
I have a dream so I study hard!!!