我编写了一个脚本来备份我的MySQL数据库,使用:

mysqldump --opt --all-databases -u user -pmypassword > myDump.sql

cron每晚都会启动它,并将结果发送到另一台服务器.

MySQL文档说:

在命令行上指定密码应该被认为是不安全的.请参阅第7.6节"确保密码安全".

我还没有在任何地方找到这个神奇的7.6部分.

处理自动mysqldump和密码安全的最佳实践是什么?

推荐答案

引用MySQL文档(http://dev.mysql.com/doc/refman/5.1/en/password-security-user.html):

将密码存储在选项文件中.例如,在Unix上,您可以在的[client]部分列出密码.我的主目录中的cnf文件:

[client]
password=your_pass

为了保证密码的安全,除了你自己,任何人都不能访问该文件.要确保这一点,请将文件访问模式设置为400或600.例如:

shell> chmod 600 .my.cnf

要从命令行命名包含密码的特定选项文件,请使用--defaults-file=file_name选项,其中file_name是文件的完整路径名.

Mysql相关问答推荐

找出同一表中列A中的每个值在列B中出现的次数

MySQL:返回所有条件(但不满足其他条件)为真的所有结果

MySQL有没有办法直接从CSV文件中读取而不是导入它?

奇怪的MySQL SELECT循环;但不是\G

为什么用PyMySQL构建的json返回结果会出现重复?

在 MYSQL 8 中的 JSON 字段上的 SELECT 中返回所有键及其数组项

如何优化使用多个 LEFT JOIN 和 GROUP BY 子句的慢速 MySQL 查询?

多个驱动器上的 MYSQL 数据

MYSQL:如何根据之前的相关记录获取记录

使用数据表的直方图(SQL 查询)

将 wordpress 自定义字段转换为单个数组

MySQL在定义表的位置后抛出错误

如何在 MySQL 中删除具有 2 列作为复合主键的多行?

在 PHP 中获取 MySQL 列的总和

MySQL ORDER BY rand(),名称为 ASC

MySQL 删除多列

将 Blob 转换为字节数组的最简单方法

考虑到 NodeJS,MySQL 和 MySQL2 有什么区别

在 MySQL 中存储 IPv6 地址

为什么 GRANT 在 MySQL 中不起作用?