MySQL-用户管理

111 阅读3分钟

1.为什么要进行用户管理?

  • 数据库本身出现的原因是:
    • 管理数据问题--文件操作数据不方便+数据不安全
    • 文件数据操作不方便--数据处理问题---
    • 数据不安全--委托数据库管理--验证身份【账号和密码】
    • 需要用户信息验证--多用户分工管理--用户管理

2.认识mysql数据库的用户

  • 查看所有的用户:脚本命令
    • select user,host from mysql.user;

3.解释mysql数据库

  • mysql数据库服务提供几个默认的数据库来初始化管理信息
  • sys--数据库软件服务的一些默认的设置
  • mysql--数据库提供一个用户,数据库等数据的管理
  • db表--存储所有的数据库信息
  • user表--用来管理用户信息

4.创建新的用户

  • 语法:create user 用户名@主机或者ip地址 identified by 密码
  • 说明:
    • 用户名:推荐使用Java的表示命名规则
      • #要求--不能使用中文,不能太长,不能使用关键字,不要使用数字或特殊符号开头,最好不要包含特殊符号
    • 主机名和ip地址:表示当前用户可以被哪台主机远程访问
      • 有三种类型的值:
        • 1)localhost或127.0.0.1:表示当前用户只能被当前数据库服务器所在的电脑设备上的工具登录连接,即本地登录访问
        • 2)%:除本机之外,还允许除了本机之外的其他设备访问
        • 3)固定ip(如192.168.12.2):表示只用指定ip地址所在设备可以使用此用户登录当前的数据库服务
    • 密码:不能以数字开头

5.删除用户

  • 命令:drop user 用户名 @"主机名或者ip"
  • 只能拥有删除权限的用户删除其他用户

6.给用户权限

  • 创建的新用户没有任何权限
  • mysql提供的权限:
    • 所有权限:管理员的权限
      • all或者all privileges
    • 数据操作的权限:
      • select -- 查看
      • delete -- 删除
      • update -- 修改的权限
      • insert -- 添加数据的权限
    • 对数据结构的权限:
      • create -- 拥有创建表和数据库 用户的权限
        • create user
        • create database
        • create table
      • drop -- 删除表,数据库,用户的权限
      • alter -- 修改数据的权限,用户,表
      • show -- 查看显示的权限
    • 查看mysql中所有的权限:show privileges;
    • 自己的权限:show grants;
    • 给予权限:grant 权限1,权限2... on 数据库.表名 to 用户名@主机名或ip地址 【with grant option】
      • 说明:
        • 1)权限列表:可以同时给用户赋予多个权限,使用逗号分割
        • 2)数据库名.表名:可以指定哪些数据库或者表可以对当前用户有对应权限操作
          • 【 * . * 】所有数据库所有的表都可以操作
        • 3)用户名@主机
          • 【with grant option】:需要被赋予权限的用户给其用户赋权
        • 权限最初的拥有者是root管理员,
        • 管理员赋予权限的时候没有指定with grant option时,即指不允许用于给其他用户赋权
        • 注意:mysql数据库中,权限给定不是绝对的,如果给了create user,将同时开启alter user,drop user。
    • 收回权限:revoke 权限1,权限2... on 数据库.表名 from 用户名@主机名或ip地址

7.密码管理【管理员】

  • 语法:
    • alter user 用户名@主机名或ip地址 password expire; 强制过期
    • alter user 用户名@主机名或ip地址 password never; 永不过期
    • alter user 用户名@主机名或ip地址 password default; 默认策略
    • alter user 用户名@主机名或ip地址 password expire interval 数值 DAY; 多少天后过期

8.刷新权限操作 flush privileges;