担心使用 mysqldump 备份 MySQL DB


Concern about backing up MySQL DB using mysqldump

如果我使用 mysqldump 创建 MySQL DB 备份,并使用 PHP"系统"或类似函数调用它,我必须在行中包含密码,以便自动化它。

然后,我可以(例如)手动调用 php 函数(即通过链接)或将其作为 cron 作业运行。

我的担忧:

  1. 鉴于数据库位于Ubuntu(服务器)或其他Linux版本上,这不是一个坏主意,因为下一个登录到服务器的人会识别DB密码吗?

  2. 显然,我们不是在谈论root密码。因此,问题的第二部分是,可以向仅用于执行备份的用户帐户授予哪些权限?

感谢分享!

您可以将密码放入具有适当锁定权限的文件中,然后执行

cat passwd.txt|mysqldump -p  dump_options_here

如果您处于复制情况并需要刷新日志,则至少需要 SELECT、LOCK_TABLES 并可能重新加载。

对于您的实际应用程序,您不会将数据库密码放在PHP文件(或ini文件)中吗?您是否没有安装phpmyadmin(并且在它的配置文件中,您可以看到未加密的密码)?