美文网首页
MySQL用户权限验证

MySQL用户权限验证

作者: 笑笑东风 | 来源:发表于2019-02-13 21:48 被阅读0次

长连接与用户权限

当客户端账号密码与服务器建立连接时,MySQL会读取该账号的所有权限并缓存,并在该连接持续期间使用这些权限,其他会话修改该账号权限,不会影响已有会话连接,仅对新创建的会话连接生效。


用户权限验证顺序


用户使用host、user、password 三项来验证登录,然后按照user>>db>>tables_priv>>columns_priv来得到用户权限。

对于相同用户名的登录用户,在进行匹配hostname时,按照最全匹配方式来匹配,如假设分别有以下授权用户:
user1@'192.168.1.1'
user1@'192.168.1.%'
user1@'192.%'
当user1用户登录时,先看登录IP是否匹配192.168.1.1,再看登录IP是否匹配192.168.1.%,最后看登录IP是否匹配192.%



实例级别授权


##授予用户所有数据库上的SELECT 权限
##授权后在mysql.user表的Select_priv=Y
GRANT SELECT ON *.* TO gga@localhost;
SELECT * FROM mysql.user where user='gga' \G

##取消上面授权
REVOKE SELECT ON *.* FROM gga@localhost;


数据库级别级别授权

##授予用户数据库上test的所有表的SELECT权限
##授权后在mysql.db表的Select_priv=Y
GRANT SELECT ON testdb1.* TO gga@localhost;
SELECT * FROM  mysql.db WHERE User='gga' \G

##取消上面授权
REVOKE SELECT ON testdb1.* FROM gga@localhost;


表级别级别授权

##授予用户数据库上test的tb001表的SELECT权限
##授权后在mysql.db表的Select_priv=Y
GRANT SELECT ON testdb1.tb001 TO gga@localhost;
SELECT * FROM mysql.tables_priv WHERE User='gga' \G

##取消上面授权
REVOKE SELECT ON testdb1.tb001 FROM gga@localhost;


MySQL特殊权限

USAGE 权限只用用于数据库登录,不能执行任何操作,usage 权限不能被回收。
ALL: 允许做任何事(和root一样)。


MySQL数据库/数据表/数据列权限

Alter: 修改已存在的数据表(例如增加/删除列)和索引。
Create: 建立新的数据库或数据表。
Delete: 删除表的记录。
Drop: 删除数据表或数据库。
INDEX: 建立或删除索引。
Insert: 增加表的记录。
Select: 显示/搜索表的记录。
Update: 修改表中已存在的记录。


MySQL全局管理权限

FILE: 在MySQL服务器上读写文件。
PROCESS: 显示或杀死属于其它用户的服务线程。
RELOAD: 重载访问控制表,刷新日志等。
SHUTDOWN: 关闭MySQL服务。

相关文章

  • MySQL用户权限验证

    长连接与用户权限 当客户端账号密码与服务器建立连接时,MySQL会读取该账号的所有权限并缓存,并在该连接持续期间使...

  • Mysql创建用户分配权限

    mysql创建用户 mysql为用户分配权限 分配完权限刷新权限

  • Mysql 用户权限管理

    MYSQL 用户权限 MySQL之权限管理 用户权限管理 SQL脚本 1.创建用户 PARAMETER'scorp...

  • mysql用户权限与缓存

    mysql 用户权限与缓存 mysql用户和权限管理: 元数据数据库:mysql 用户帐号: 'USERNAME'...

  • mysql 用户管理和权限设置

    mysql 用户管理和权限设置 用户管理 mysql>use mysql; 查看 mysql> select ho...

  • 设置远程连接 mysql

    进入 mysql 数据库 修改权限 更新权限 验证是否成功 重启服务

  • 数据库用户权限设置

    当需要对MySQL用户赋予特定的使用权限时,我们需要对数据库用户权限进行设置。 mysql> GRANT 权限1,...

  • mongo-python

    1、用户无权限验证连接mongo 2、用户权限验证登陆连接mongo(1)注:有权限校验登陆最好选择这种方式,另一...

  • Mysql权限管理

    Mysql对权限的控制,大致分为2个阶段: 一、用户有没有连接权限: mysql如何判断用户有没有权限连接,依据3...

  • mysql 8.x忘记密码

    停止mysql服务net stop mysql80 以安全模式启动mysql(跳过权限验证)mysqld --co...

网友评论

      本文标题:MySQL用户权限验证

      本文链接:https://www.haomeiwen.com/subject/vbejeqtx.html