导入数据库的安全方式


Secure way to import database

对于web应用程序,将为每个组织/客户创建一个数据库。我正在寻找一种安全可靠的方法来实现自动化。

现状:

  • 在客户表中创建了新条目
  • 运行php脚本为客户创建数据库
  • php脚本执行proc_open()来运行mysqldump和导入,然后向客户发送邮件

它几乎是自动化的,但我不喜欢使用proc_open()。我们可以移动mysqldump并导入到计划的bash脚本,因为可以有几分钟的延迟。

bash脚本需要一些用户输入,例如客户名称、电子邮件地址,从而造成安全威胁。

实现这一过程自动化的最佳方式是什么?

您可以编写一个cron作业/脚本来检查客户表并为新客户创建新数据库。您可以使用phpexec方法来运行mysqldump并恢复到数据库,这是最快的方法。为了安全起见,不要将mysql凭据与命令内联编写!相反,请使用.my.cnf.

这是我多年来毫无问题地使用的东西。