是否有可能从命令行完成MySQL数据库服务器的备份?

$ mysqldump -h localhost -u username -p database_name > backup_db.sql 

我可以使用上面的行,但它只是在服务器上的一个分贝,我可以有一个完整的备份所有数据库到一个备份文件?

还是有一些命令序列化这个过程?

像下面的东西(我加了 – 所有这可能是错误的):

 $ mysqldump -u username -h localhost -p -all | gzip -9 > backup_db.sql.gz 

谢谢。

使用–all-databases选项,它会导致转储所有数据库中的所有表:

 mysqldump -u username -h localhost -p --all-databases > all_databases.sql 

此外,我build议设置一个my.cnf文件,以便您的密码在进程列表中不可见。 看看这个 。 它将帮助你,防止你的SQL DB被任何可能侵入你的系统的人攻击。

我build议LVM快照备份“所有数据库”,因为locking时间可能很长。 然而,显示的调查用法string或“ man mysql<^M>/all ”的缺乏让我觉得提出这样的build议可能是不负责任的。

 ~$ mysqldump Usage: mysqldump [OPTIONS] database [tables] OR mysqldump [OPTIONS] --databases [OPTIONS] DB1 [DB2 DB3...] OR mysqldump [OPTIONS] --all-databases [OPTIONS] For more options, use mysqldump --help