mysql - 额外防止数据库篡改

标签 mysql database-design

是否可以防止除允许之外的人篡改数据库。我想我是在问除了数据库登录之外是否还有其他方法来阻止人们篡改数据库?我知道特权以及如何仅访问某些用户的数据库的某些部分。我正在寻找更多内容,以防有人设法确定正确的用户名/密码组合。

我正在将此数据库与网络服务器结合使用。数据库服务器和 Web 服务器位于不同的计算机上,并且位于硬件防火墙后面。 Web服务器只能通过防火墙访问,数据库服务器只能通过Web服务器访问。

我想我要问的是,创建某种用户控件来创建 session ID或类似的东西是否可行,这样只有当该ID与用户登录时存储的ID匹配时才会运行查询。

最佳答案

是的,您可以控制设置哪个用户拥有什么权限。当然,如果他们掌握了 root 用户密码,那么我想你可能就不走运了。

查看此链接以获取有关授予/撤销权限的一些信息。 http://beginner-sql-tutorial.com/sql-grant-revoke-privileges-roles.htm

授予语法(来自链接)

GRANT privilege_name
ON object_name
TO {user_name |PUBLIC |role_name}
[WITH GRANT OPTION]; 

撤销语法(来自链接)

REVOKE privilege_name
ON object_name
FROM {user_name |PUBLIC |role_name} 

更多:Brian 在评论中补充说,赛门铁克有一个很好的指南来保护 MySQL。我只是想补充一点,它也包含很多非常有用的信息,http://www.symantec.com/connect/articles/securing-mysql-step-step

关于mysql - 额外防止数据库篡改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3852638/

相关文章:

php - Stack Overflow 标签系统,如何操作

php - mysql_real_escape_string 是否足以反 SQL 注入(inject)?

database - 外键字段可以与它在另一个表中引用的字段具有不同的名称吗?

数据库:删除或不删除记录

sql - 在此 SQL 模式中可以改进什么?

mySQL - 我应该反规范化吗?

java - Cassandra 中的 IN 关系对查询不利吗?

php - 如何在 MySQL 中使用 DISTINCT 插入到第二个表?

mysql - ON DUPLICATE KEY UPDATE - 减少 MySQL 中的值

mysql - 如何为整个子网授予对 MySQL 的远程访问权限?