我是靠谱客的博主 温暖咖啡,最近开发中收集的这篇文章主要介绍关于MySQL权限简述,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

转自:微点阅读  https://www.weidianyuedu.com/content/0517195343123.html

  一、关于MySQL权限的几点常识

  1、MySQL的权限系统主要用来验证用户的操作权限。

  2、在MySQL内部,权限信息存放在MySQL数据库的granttable里。当mysql启动后,granttable里的信息会写入内存。

  3、MySQL 使用user name 加 host name 来作为标识符。

  通过这种标识符,可以用来区分不同host上的相同的user name。

  4、MySQL 权限控制有2种策略:

  1)根据密码是否正确来控制客户端的连接。

  2)假设可以正常connect,server还可以检查每个satement是否有权限去执行。如果只有某张表的select 权限,就不能进行drop 操作。

  5、如果用户的权限改变,当前已连接的会话用户不会受影响,下次登录才会生效。

  二、关于MySQL的几个有关权限表的含义:

  user:用户账号、全局权限

  db:库级别权限

  host:废弃

  tables_priv:表级别权限

  colums_priv:列级别权限

  procs_priv:存储过程和存储函数相关的权限

  proxies_priv:代理用户权限

  三、MySQL用户账号的创建规则

  用户名@主机

  用户名:16字符以内

  主机:

  主机名:www、test 、com, mysql

  IP:192.168.2.1

  网络地址:192.168.0.0/255.255.0.0

  通配符:%,192.168.%.%,%.test.com

  四、MySQL的用户权限级别

  服务管理类:super

  库:CREATE

  表:DELETE、ALTER

  列:INSERT、SELECT、UPDATE

  更多级别可参考MySQL官方文档

       微点阅读(www.weidianyuedu.com)

  五、与权限相关的几个命令

  GRANT 权限,... ON [对象类型] db.{table|routine} TO 'username'@'host' [INDENTIFIED BY 'password'];

  REVOKE 权限,... ON [对象类型] db.{table|routine} FROM 'username'@'host';

  SHOW GRANTS FOR 'username'@'host';

  CREATE USER 'username'@'host' [IDENTIFIED BY 'password'];

  DROP USER 'username'@'host';

  RENAME USER old_name TO new_name;

  六、权限的操作命令举例

  查看当前数据库的所有用户:

  select user,host,password from mysql.user;

  给用户赋予super权限(super和ALL PRIVILEGES都可以):

  GRANT super ON *.* TO 'mysql'@'localhost';

  GRANT ALL PRIVILEGES ON *.* TO 'mysql'@'localhost';

  删除用户的super权限(super和ALL PRIVILEGES都可以):

  REVOKE super ON *.* FROM 'mysql'@'localhost';

  REVOKE ALL PRIVILEGES ON *.* FROM 'mysql'@'localhost';

  查看赋予用户的权限

  SHOW GRANTS FOR 'mysql'@'localhost';

最后

以上就是温暖咖啡为你收集整理的关于MySQL权限简述的全部内容,希望文章能够帮你解决关于MySQL权限简述所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部