加入收藏 | 设为首页 | 会员中心 | 我要投稿 辽源站长网 (https://www.0437zz.com/)- 云专线、云连接、智能数据、边缘计算、数据安全!
当前位置: 首页 > 大数据 > 正文

服务端开发指南与最佳实战:数据存储技术,MySQL 数据库安全性

发布时间:2018-04-11 01:13:29 所属栏目:大数据 来源:站长网
导读:数据库的安全性,即保护数据库,防止未经授权或不合法的使用而造成的数据泄漏和更改破坏。因此,保护数据库的安全性的一般方法是设置用户标识和权限控制。 MySQL 权限控制,分为两个步骤。第一步骤,服务器会检查是否允许连接。因为创建用户的时候会加上主

数据库的安全性,即保护数据库,防止未经授权或不合法的使用而造成的数据泄漏和更改破坏。因此,保护数据库的安全性的一般方法是设置用户标识和权限控制。

MySQL 权限控制,分为两个步骤。第一步骤,服务器会检查是否允许连接。因为创建用户的时候会加上主机限制,可以限制成本地、某个 IP、某个 IP 段等,只允许从配置的指定地方登录。第二步骤,如果允许连接,那么 MySQL 会检查发出的每个请求是否有足够的权限执行。举个例子,假设需要删除某个表,MySQL 会检查是否对这个表有删除操作权限。

MySQL 为了数据库的安全性,设置了对数据的存取进行控制的语句,对用户授权使用 GRANT 语句,收回所授的权限使用 REVOKE 语句。

GRANT 授予用户权限

授予用户权限,简单格式可概括如下。

GRANT <权限> ON <数据库对象> TO <用户>

假设,需要让普通 DBA 管理某个数据库的权限,可以授予这个数据库的所有权限。

grant select, insert, update, delete on db_name.* to 'dba'@'localhost'

假设,需要让高级 DBA 管理某个数据库的权限,可以授予这个数据库的所有权限。

grant all on db_name.* to 'dba'@'localhost';

假设,需要让超级管理员管理所有数据库的权限。

grant all on *.* to 'dba'@'localhost';

假设,需要让超级管理员管理所有数据库的权限,赋予远程权限。

grant all on *.* to 'dba'@'192.168.244.142' identified by 'mypassword' with grant option; REVOKE 收回用户权限

回收用户权限,和授予用户权限类似,只需要把关键字 to 改成 from 即可。

REVOKE <权限> ON <数据库对象> FROM <用户>

假设,需要收回普通 DBA 某个数据库的删除权限。

revoke delete on db_name.* from 'dba'@'localhost'; 数据库安全原则

对于数据库安全问题,需要遵守几个原则:

遵守最小特权,授予所需要的最小权限。如果用户只需要查询权限,就不要额外授予新增、更新、删除权限,这样可以防止用户干坏事。 需要定期回收权限或者删除无用用户。 创建用户的时候限制用户的登录主机,例如限制指定 IP 或内网 IP 网段。

(编辑:辽源站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读