如果我使用 mysqldump 创建 MySQL DB 备份,并使用 PHP"系统"或类似函数调用它,我必须在行中包含密码,以便自动化它。
然后,我可以(例如)手动调用 php 函数(即通过链接)或将其作为 cron 作业运行。
我的担忧:
-
鉴于数据库位于Ubuntu(服务器)或其他Linux版本上,这不是一个坏主意,因为下一个登录到服务器的人会识别DB密码吗?
-
显然,我们不是在谈论root密码。因此,问题的第二部分是,可以向仅用于执行备份的用户帐户授予哪些权限?
感谢分享!
您可以将密码放入具有适当锁定权限的文件中,然后执行
cat passwd.txt|mysqldump -p dump_options_here
如果您处于复制情况并需要刷新日志,则至少需要 SELECT、LOCK_TABLES 并可能重新加载。
对于您的实际应用程序,您不会将数据库密码放在PHP文件(或ini文件)中吗?您是否没有安装phpmyadmin(并且在它的配置文件中,您可以看到未加密的密码)?