从--all-database sql.gz文件恢复所有mysql数据库

时间:2014-04-20 10:18:31

标签: mysql backup mysqldump database-restore

我用他的命令

支持我所有的mysql数据库
mysqldump -u root -ppasswod --all-databases | gzip > all.sql.gz

只是想知道我是否可以使用以下命令恢复所有数据库

gunzip < alldb.sql.gz | mysql -u root -ppassword -h localhost

你能告诉我如何备份所有的mysql用户吗?

我无法测试它,因为我不确定,我不想破坏当前系统上的任何数据库

3 个答案:

答案 0 :(得分:21)

是。通常,要恢复压缩备份文件,您可以执行以下操作:

gunzip < alldb.sql.gz | mysql -u [uname] -p[pass] [dbname]

请咨询How to Back Up and Restore a MySQL Database

请注意,--all-databases选项仅适用于备份。备份文件本身将包含用于还原的所有相关CREATE DATABASE quux;命令。

答案 1 :(得分:6)

这是我用来备份MySQL中所有数据库的命令:

mysqldump -u USERNAME -p --all-databases --events --ignore-table=mysql.event --extended-insert --add-drop-database --disable-keys --flush-privileges --quick --routines --triggers | gzip > "all_databases.gz"
  • &#39; - 所有数据库&#39;选项告诉命令包含所有数据库。如果要指定一个或多个,请删除该选项并将其替换为&#39; - databases dbname1 dbname2 dbnameX&#39;
  • 要备份所有mysql用户,密码,权限,然后包括“mysql”#39;备份中的数据库。 --all-databases选项在备份中包含此数据库。
  • &#39; - 例程&#39;选项包括备份中的存储过程和功能。
  • &#39; - 触发&#39;选项包括备份中的任何触发器。

从* .gz mysqldump文件恢复:

gunzip < all_databases.gz | mysql -u USERNAME -p

答案 2 :(得分:-1)

/ applications / MAMP / library / bin / mysql -u root -p