以下内容将数据库从远程计算机(以及gzips)转储到我的计算机上:
ssh root@foo.com "mysqldump -u root -p db_name | gzip -c" > dn_name.sql.gz
如何正确隐藏主机密码,但mysql的密码条目是明文?
谢谢:)。
答案 0 :(得分:2)
因为如果您在shell中以非交互方式输入密码,则进程树中的其他用户始终可以看到该密码。
如果您以root身份运行该进程,那么root用户本身应该足够安全,因此您应该为root用户提供无需密码的转储。
另一个选择是在主目录中创建一个.my.cnf
文件,使其只能由root(chmod 600
)读取和写入。
以下是.my.cnf
文件的内容:
[mysqldump]
user = mysqluser
password = secret
这样就可以自动输入用户和密码,而不会受到损害。