mysql的权限管理

Posted 可我浪费着我寒冷的年华

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了mysql的权限管理相关的知识,希望对你有一定的参考价值。

一:MySQL权限经验原则:

    权限控制主要是出于安全因素,因此需要遵循一下几个经验原则:

    1、只授予能满足需要的最小权限,防止用户干坏事。比如用户只是需要查询,那就只给select权限就可以了,不要给用户赋予update、insert或者delete权限。

    2、创建用户的时候限制用户的登录主机,一般是限制成指定IP或者内网IP段。

    3、初始化数据库的时候删除没有密码的用户。安装完数据库的时候会自动创建一些用户,这些用户默认没有密码。

    4、为每个用户设置满足密码复杂度的密码。

    5、定期清理不需要的用户。回收权限或者删除用户。

权限分布

可能的设置的权限

表权限

‘Select‘, ‘Insert‘, ‘Update‘, ‘Delete‘, ‘Create‘, ‘Drop‘, ‘Grant‘, ‘References‘, ‘Index‘, ‘Alter‘

列权限

‘Select‘, ‘Insert‘, ‘Update‘, ‘References‘

过程权限

‘Execute‘, ‘Alter Routine‘, ‘Grant‘

grant命令:
mysql> grant all privileges on *.* to [email protected]‘localhost‘ identified by "123456" with grant option;
Query OK, 0 rows affected (0.09 sec)

grant:赋予

privileges:特权

*.*:前面的*号用来指定数据库名,后面的*号用来指定表名

identified by:指定密码

[email protected]:前面的def表示用户名,后面的localhost是主机,也可以填写IP类。

with grant option:这个选项表示该用户可以将自己拥有的权限授权给别人

=>总之那句sql语句就是创建一个只允许从本地登录的超级用户def,并允许将权限赋予别的用户,密码为:123456

查看当前权限:

mysql> show grants;
+---------------------------------------------------------------------+
| Grants for [email protected]                                           |
+---------------------------------------------------------------------+
| GRANT ALL PRIVILEGES ON *.* TO ‘root‘@‘localhost‘ WITH GRANT OPTION |
| GRANT PROXY ON ‘‘@‘‘ TO ‘root‘@‘localhost‘ WITH GRANT OPTION        |
+---------------------------------------------------------------------+
2 rows in set (0.01 sec)

查看某一个用户的权限:

mysql> show grants for ‘jack‘@‘%‘;
+-----------------------------------------------------------------------------------------------------+
| Grants for [email protected]%                                                                                   |
+-----------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO ‘def‘@‘%‘ IDENTIFIED BY PASSWORD ‘*9BCDC990E611B8D852EFAF1E3919AB6AC8C8A9F0‘ |
+-----------------------------------------------------------------------------------------------------+
1 row in set (0.00 sec)

删除用户:

mysql> drop user ’def‘@‘localhost‘;
Query OK, 0 rows affected (0.01 sec)

  

以上是关于mysql的权限管理的主要内容,如果未能解决你的问题,请参考以下文章

JS+JavaBean判断管理员增删改的操作权限

硬核!管理mysql数据库的工具

Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段

常见的mysql权限设置

MySQL的用户管理与权限管理

MySQL的用户管理与权限管理