当前位置:   article > 正文

Mysql(5.7)用户权限管理_mysql 5.7 grant

mysql 5.7 grant

1.用户管理

Mysql用户可分为 普通用户root用户。root用户是超级管理员,拥有所有权限,包括创建用户,删除用户和修改用户的密码等管理权限,普通用户只拥有被授予的各种权限。

Mysql提供了许多语句来管理用户账号,这些语句可以用来管理包括登录和退出Mysql服务器,创建用户,删除用户,密码管理和权限管理等内容。

1.1Mysql权限分布

权限分布可能设置的权限
表权限SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,GRANT,REFERENCES,INDEX,ALTER
列权限SELECT,INSERT,UPDATE,REFERENCES
过程权限EXECUTE,ALTER,ROUTINE,GRANT

1.2授予权限的原则

1. 只能授予 满足需要的最小权限 , 防止用户做其他的操作。

2. 创建用户时 限制用户的登录主机 ,一般是限制成指定ip或内网ip段

3. 为每个用户 设置满足密码复杂度的密码

4. 定期清理不需要的用户, 回收权限或者删除用户

1.3 mysql数据库表介绍

5.7版本下有31张表

user表存储当前用户,以什么ip范围进行登录

desc user; 用户的各种权限,密码,认证,允许查询次数,允许连接次数等

desc db;  体现的是每一个具体的数据库操作权限问题

 

desc tables_priv;   具体的每一个表的权限

desc columns_priv;   具体的每一个列的权限

1.4 权限认证流程

用户像MySQL发出操作请求

1. Mysql检查user表中是否有对应的权限,如果有操作被允许,没有则继续向下执行

2. Mysql检查db表中是否有对应的权限,如果有操作被允许,没有则继续向下执行

3. Mysql检查tables_priv表中是否有对应的权限,如果有操作被允许,没有则继续向下执行

4. Mysql检查columns_priv表中是否有对应的权限,如果有操作被允许,没有则返回错误信息

1.5 配置文件的使用

my.cnf 配置文件内容解析

[mysql]

....

[mysql_safe]

....

[client]

....

[mysql]

....

[mysqladmin]

....

启动命令类别能读取的组
mysqld启动服务器[mysql], [server]
mysql_safe启动服务器[mysql], [server], [mysql_safe]
mysql.server启动服务器[mysql], [client], [mysql.server]
mysql启动客户端[mysql], [client]
mysqladmin启动客户端[mysqladmin], [client]
mysqldump启动客户端[mysqldump], [client]

2. 配置远程访问用户和设置简单密码

第一次安装 mysql 后, mysql返回的root用户密码 grep "password" /var/log/mysqld.log 

配置my.cnf文件

validate_password = off  # 不叫校验密码

character_set_server = utf8 # 密码格式简单

登录  mysql -uroot -p 上面的密码

  1. ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; # 修改root用户密码
  2. create user 'root'@'%' identified by '123456'; # 此处外网访问用户密码强度设计高点
  3. grant all on *.* to 'root'@'%'; # 给创建的root用户配置所有权限
  4. FLUSH PRIVILEGES; # 刷新权限

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Guff_9hys/article/detail/901796
推荐阅读
相关标签
  

闽ICP备14008679号