对于web应用程序,将为每个组织/客户创建一个数据库。我正在寻找一种安全可靠的方法来实现自动化。
现状:
- 在客户表中创建了新条目
- 运行php脚本为客户创建数据库
- php脚本执行
proc_open()
来运行mysqldump和导入,然后向客户发送邮件
它几乎是自动化的,但我不喜欢使用proc_open()
。我们可以移动mysqldump
并导入到计划的bash脚本,因为可以有几分钟的延迟。
bash脚本需要一些用户输入,例如客户名称、电子邮件地址,从而造成安全威胁。
实现这一过程自动化的最佳方式是什么?
您可以编写一个cron作业/脚本来检查客户表并为新客户创建新数据库。您可以使用phpexec方法来运行mysqldump并恢复到数据库,这是最快的方法。为了安全起见,不要将mysql凭据与命令内联编写!相反,请使用.my.cnf.
这是我多年来毫无问题地使用的东西。