用户的作用: 登录MySQL,管理MySQL

1. 用户的定义

用户名@’白名单’

  1. peanut@'%' #所有地址可通过peanut登录
  2. peanut@'localhost' #本地登录
  3. peanut@'127.0.0.1' #本地登录
  4. peanut@'10.0.0.%' #10.0.0.0/24网段下的所有IP 可以登录
  5. peanut@'10.0.0.5%' #10.0.0.50-59 可以登录
  6. peanut@'10.0.0.0/255.255.254.0' #10.0.0.0/23网段的可以登录

2. 创建用户

  1. mysql -uroot -p1
  2. MySQL [(none)]>create user peanut@'10.0.0.%' identified by '123qwe';
  3. Query OK, 0 rows affected (0.00 sec)

8.0 以前 可以同时创建用户,并授权

  1. grant all on *.* to test@'10.0.0.1' identified by '123qwe';

3. 修改密码

  1. alter user peanut@'10.0.0.%' identified by '123';

4. 删除用户

  1. MySQL [(none)]>drop user peanut@'10.0.0.%';

5. 查看用户

  1. MySQL [(none)]>select user,host from mysql.user;
  2. +---------------+-----------+
  3. | user | host |
  4. +---------------+-----------+
  5. | test | 10.0.0.1 |
  6. | mysql.session | localhost |
  7. | mysql.sys | localhost |
  8. | root | localhost |
  9. +---------------+-----------+
  10. 4 rows in set (0.00 sec)
  11. select user,host,authentication_string from mysql.user;

6. 授权

8.0 以后支持通过角色来授权。 5.7还是只能通过操作来授权

  1. ALL:
  2. 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
  3. ALL : 以上所有权限,一般是普通管理员拥有的
  4. with grant option:超级管理员才具备的,给别的用户授权的功能
  1. grant 权限 on 作用目标 to 用户 identified by '123qwe' without grant option;
  2. without grant option; #除了 给别人授权的权限
  3. grant select,create on mysql.user to test@'10.0.0.1';
  4. 若用户本身不存在 也可直接授权的同时直接创建该用户,并授权

查看某个用户的权限

  1. show grants for test@'10.0.0.1';

撤销某个权限

  1. revoke delete on *.* from test@'10.0.0.1';

权限申请:开发人员向开发小组领导沟通所需权限。提供登录地址,及所需库的权限。通过邮件的方式发送至开发小组领导,抄送运维人员及运维主管。得到批复后由运维人员开通账号