赞
踩
Mysql用户可分为 普通用户 和 root用户。root用户是超级管理员,拥有所有权限,包括创建用户,删除用户和修改用户的密码等管理权限,普通用户只拥有被授予的各种权限。
Mysql提供了许多语句来管理用户账号,这些语句可以用来管理包括登录和退出Mysql服务器,创建用户,删除用户,密码管理和权限管理等内容。
权限分布 | 可能设置的权限 |
---|---|
表权限 | SELECT,INSERT,UPDATE,DELETE,CREATE,DROP,GRANT,REFERENCES,INDEX,ALTER |
列权限 | SELECT,INSERT,UPDATE,REFERENCES |
过程权限 | EXECUTE,ALTER,ROUTINE,GRANT |
1. 只能授予 满足需要的最小权限 , 防止用户做其他的操作。
2. 创建用户时 限制用户的登录主机 ,一般是限制成指定ip或内网ip段
3. 为每个用户 设置满足密码复杂度的密码
4. 定期清理不需要的用户, 回收权限或者删除用户
5.7版本下有31张表
user表存储当前用户,以什么ip范围进行登录
desc user; 用户的各种权限,密码,认证,允许查询次数,允许连接次数等
desc db; 体现的是每一个具体的数据库操作权限问题
desc tables_priv; 具体的每一个表的权限
desc columns_priv; 具体的每一个列的权限
用户像MySQL发出操作请求
1. Mysql检查user表中是否有对应的权限,如果有操作被允许,没有则继续向下执行
2. Mysql检查db表中是否有对应的权限,如果有操作被允许,没有则继续向下执行
3. Mysql检查tables_priv表中是否有对应的权限,如果有操作被允许,没有则继续向下执行
4. Mysql检查columns_priv表中是否有对应的权限,如果有操作被允许,没有则返回错误信息
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]
第一次安装 mysql 后, mysql返回的root用户密码 grep "password" /var/log/mysqld.log
配置my.cnf文件
validate_password = off # 不叫校验密码
character_set_server = utf8 # 密码格式简单
登录 mysql -uroot -p 上面的密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456'; # 修改root用户密码 create user 'root'@'%' identified by '123456'; # 此处外网访问用户密码强度设计高点 grant all on *.* to 'root'@'%'; # 给创建的root用户配置所有权限 FLUSH PRIVILEGES; # 刷新权限
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。