2018/09/05《涂抹MySQL》【权限管理】学习笔记(二)

  第四章《管理MySQL库与表》

  第五章《MySQL的权限管理》

总结

1:当配置好 MySQL 数据库后,发现有几个默认的库,他们的意义和作用?(这里只做简单了解,之后用到的会分析,现在知道有这么个东西就好)

  - information_schema 记录数据表/用户/视图等信息。

  - mysql 用户权限/帮助/日志等信息

  - performance_schema MySQL性能指标库

2:数据库是文件么?在哪里放着呢?

mysql.conf 配置中定义了数据存放位置
datadir         = /var/lib/mysql

- 之前的数据库结构

2018/09/05《涂抹MySQL》【权限管理】学习笔记(二)

- 在 /var/lib/mysql 随便建立一个文件夹

2018/09/05《涂抹MySQL》【权限管理】学习笔记(二)

- 再看数据库结构

2018/09/05《涂抹MySQL》【权限管理】学习笔记(二)

- 是不是已经成功建立了这个库呢?

- 这里只是试验,直接建立文件夹,在正常环境下,还时应该使用 DDL 语句来建立/删除 库。

- 因为直接文件夹建立会有权限/...问题,导致其他问题的失败。

- 数据表同理。

3:关于数据库权限的认知小Tip

  - MySQL用户 root 和 linux root 不是一回事,数据库 root 只不过是初始化时候自己建立的一个用户而已,随时可以删除/修改。

4:数据库权限逻辑?

  - MySQL 总体是使用了白名单机制,明确规定了哪些用户能做哪些事,但是不能规定哪些用户不能做那些事。

  - MySQL 权限总体逻辑分为下面几块。

    - 能不能连接?

      - 用一句话概括 ’我是谁‘ ’我从哪来‘ ’我从哪去‘

      - 对应上面 验证[用户名/密码] -> 验证来源主机->是否有对应的数据库权限。

4:如何在数据库中新建一个用户?

  - 注意

    - 用户名大小不能超过 字符。

    - 大小写敏感。

  - 语句也很简单

    - CREATE USER 用户名@'访问IP(%或者空代表所有)' identified by  '密码';

    - 也可以使用 GRANT 语句创建。

  - 设置完成后会自动更新授权表,直接使用密码登录即可。

5:那么,如何设置权限呢?

  - 使用 GRANT 设置权限

    - GRANT SELECT ON `demo`.`user` TO 'lihong'@'%';  // 这里允许lihong用户查找demo.user表

  - 可以使用

    - show grants; // 查看自己的全部权限

  - 使用 REVOKE 回收权限

    - REVOKE SELECT ON `user` FROM 'lihong'@'%';  // 回收 lihong 用户的查找权限

    - REVOKE ALL PRIVILEGES, GRANT OPTION FROM 用户名; // 回收该用户下的所有权限

6:删除用户

  - 很简单,前提应该回收所有权限

     - drop user 用户名@'访问主机';

7:MySQL 中的权限级别

  - 在 user 表中的权限是 全局 权限。

  - grant select  on *.*  to lihong;  // 设置lihong用户拥有全局读权限

上一篇:FFmpeg封装格式处理


下一篇:mongoVUE的增删改查操作使用说明(转)