我正在写一个bash脚本来备份我的数据库。 大部分是postgresql,在postgres中有一种方法可以避免通过创build包含postgres密码的〜/ .pgpass文件来进行身份validation。 我把它放在root的主目录下,并将其设置为chmod 0600,这样root就可以转储postgres数据库而无需进行身份validation。 现在我想为mysql做类似的事情,虽然我只有一个mysql数据库。 我怎样才能做到这一点? 我不想在mysqldump的命令行中指定密码,因为这是其他用户可能会看到的脚本的一部分。 有没有更好的办法(即内置到MySQL)做这个比只有root可以读取,然后阅读获取mysql密码,然后在bash脚本中使用它作为一个variables?
为运行mysql的用户创build一个~/.my.cnf文件。 它应该包含以下内容:
[client] user = root password = yourpassword