Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/79.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql SQL双数据库安全_Mysql_Sql_Relational Database_Database Security - Fatal编程技术网

Mysql SQL双数据库安全

Mysql SQL双数据库安全,mysql,sql,relational-database,database-security,Mysql,Sql,Relational Database,Database Security,因此,这与代码本身关系不大,更多的是关于效率和实用性。 在我以前的工作中,我们有多个数据库。一个是可以通过公共途径访问的,另一个是只能私下访问的。公共数据库基本上可以显示私有数据库所做的一切,它们几乎是同步的,每2分钟左右保持最新。 他们的想法是,如果公共数据库被某种类型的SQL注入或其他破坏数据库的恶意行为破坏,它不会影响生产,并且可以立即恢复 然而,这是一个规模相当小的操作,一次只有大约100人访问数据库,如果发生了什么不好的事情,我敢肯定必须有人手动进入并恢复数据库来修复问题 我的问题是,

因此,这与代码本身关系不大,更多的是关于效率和实用性。 在我以前的工作中,我们有多个数据库。一个是可以通过公共途径访问的,另一个是只能私下访问的。公共数据库基本上可以显示私有数据库所做的一切,它们几乎是同步的,每2分钟左右保持最新。 他们的想法是,如果公共数据库被某种类型的SQL注入或其他破坏数据库的恶意行为破坏,它不会影响生产,并且可以立即恢复

然而,这是一个规模相当小的操作,一次只有大约100人访问数据库,如果发生了什么不好的事情,我敢肯定必须有人手动进入并恢复数据库来修复问题


我的问题是,这是一种正确的做事方式吗?这种策略什么时候开始变得极其低效?假设如果我每天有成千上万的查询,这会是无法维护的吗


感谢您的洞察力。

第一道防线必须是软件已访问数据库,有许多方法可以防止sql注入,如使用SPs、发送参数而不是查询。。。 虽然如果系统的用户提供数据(如本论坛),拥有一个私有数据库并不比拥有一个数据库副本(您说的是每2分钟同步一次,公共数据库中的任何更改也会更改私有数据库)要好。您可以以不同的时间间隔拥有不同的数据副本,并且可以在发生任何情况时随时回滚到一个好的副本


我以前在一家银行工作,他们在磁带上复印了一份!这是一个写一次/只读磁带,以防发生比sql注入更大的事情

“这是一种正确的做事方式吗?”——可能不是。不要直接公开数据库。在其上放置许可的API;至少是只读视图。另外,不要将OLTP和OLAP问题混为一谈。公共数据库总是一个坏主意。但是:如果您的公共数据库可以通过SQL注入进行修改,那么您的私有数据库也是如此——因为不知何故,数据必须到达那里,不是吗?此外,与其通过备份来减轻数据破坏,不如担心数据泄漏。因此,您的大部分工作应该放在确保代码安全和数据库不公开上