2011-05-07 48 views
2

如果我使用mysqldump创建MySQL数据库备份,并使用PHP'系统'或类似的函数调用它,我必须在行中包含密码才能自动化它。关注使用mysqldump备份MySQL数据库

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

我的关注:

  1. 鉴于DB是在Ubuntu(服务器),或其他Linux的味道,不会这是一个坏主意,因为旁边的人登录到服务器将识别数据库密码?

  2. 很明显,我们不是在谈论root密码。因此,问题的第二部分是,可以给只用于备份的用户帐户授予什么特权?

感谢您的分享!

+0

属于serverfault.com – ChristopheD 2011-05-07 05:09:46

+0

我不确定它是否应该在serverfault上,因为我的问题也涉及PHP。这就是为什么我把它放在这里。 – itsols 2011-05-07 05:11:55

+0

@ChristopheD - 除了serverfault之外,你不会得到尽可能多的答案,如果有的话。 – 2011-05-07 05:16:36

回答

2

你可以把密码与适当锁定的权限的文件,然后执行

cat passwd.txt|mysqldump -p dump_options_here 

至少,你需要选择,LOCK_TABLES,并可能RELOAD如果你在复制的情况是并需要刷新日志。

+0

是的,这是我认为我会用到的解决方法:) 它是一个Linux操作系统,我们可以很容易地做到这一点。 谢谢! – itsols 2011-05-07 05:20:45

2

对于真正的应用程序,您是否将DB密码放入PHP文件(或ini文件)? 难道你没有安装phpmyadmin(并且在它的配置文件中你可以看到未加密的密码)?

+0

是的,这也是一个选项。只要我们坚持Ubuntu/Linux,我不认为配置文件将被所有人访问。感谢这个想法! – itsols 2011-05-07 05:24:17