【问题标题】:restore all mysql database from a --all-database sql.gz file从 --all-database sql.gz 文件恢复所有 mysql 数据库
【发布时间】:2014-06-04 13:08:39
【问题描述】:

我已经用他下面的命令支持了我所有的 mysql 数据库

mysqldump -u root -ppasswod --all-databases | gzip > all.sql.gz

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

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

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

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

【问题讨论】:

    标签: mysql backup mysqldump database-restore


    【解决方案1】:

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

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

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

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

    【讨论】:

    • 没有提到从 all_db.sql.gz 文件恢复数据库
    • 哈哈我知道。我的意思是他们没有指定如何从 --all-databse 备份恢复
    • 您的 --all-database 输出文件应该包含备份数据库所需的CREATE DATABASE foo; 命令,因此当您从中恢复时,所有数据库都将恢复。您可以打开 all.sql 文件并 grep 这些命令以确保提及所有 dbs。
    • 是的,我只是想确认在全新安装 MySQL 后应该如何恢复,从我的 alldb 文件中一次性导入数据库的命令是什么
    • 看来我也陷入了这些问题。我使用 --all-databases dump 备份了 50 多个数据库。现在我需要手动识别这些数据库而不是 1 个导入命令。
    【解决方案2】:

    这是我用来备份 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"
    
    • “--all-databases”选项告诉命令包含所有数据库。如果要指定一个或多个,请删除该选项并将其替换为 '--databases dbname1 dbname2 dbnameX'
    • 要备份所有 mysql 用户、密码、权限,然后在备份中包含“mysql”数据库。 --all-databases 选项将此数据库包含在备份中。
    • “--routines”选项包括备份中的存储过程和函数。
    • “--triggers”选项包括备份中的所有触发器。

    从 *.gz mysqldump 文件恢复:

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

    【讨论】:

      【解决方案3】:

      要在导入 sql.gz 文件时显示进度条,请下载 pv 并使用以下命令:

      pv mydump.sql.gz |枪弹 | mysql -u root -p

      如果您的系统上没有安装 PV 命令,请尝试以下命令相对

      在 CentOS/RHEL 中

      yum 安装 pv

      在 Debian/Ubuntu 中

      apt-get install pv

      在 MAC 中

      brew 安装 pv

      输出类似的东西 -->

      pv mydump.sql.gz |枪弹 | mysql -u root -p 数据库名

      输入密码:

      255MiB 0:05:49 [ 748kiB/s] [===========> ] 30%

      【讨论】:

      • 如果您指的是已发布的答案,请包含指向原始答案的链接。答案复制自:serverfault.com/a/445130/275858
      • 好的,但我没有从任何地方复制任何东西,如果你认为这样你可以从那里寻求帮助
      • pv 是一个真正令人难以置信的宝石
      【解决方案4】:

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

      【讨论】:

        猜你喜欢
        • 2014-01-16
        • 2016-12-03
        • 1970-01-01
        • 2012-06-11
        • 2010-11-15
        • 1970-01-01
        • 1970-01-01
        • 2010-10-03
        相关资源
        最近更新 更多