如何从mysqldump恢复转储文件?

时间:2008-09-19 21:27:01

标签: mysql sql database

我获得了一个MySQL数据库文件,我需要将其恢复为Windows Server 2008计算机上的数据库。

我尝试使用MySQL Administrator,但是我收到以下错误:

  

所选文件由。生成   mysqldump并且无法恢复   这个应用程序。

我该如何运作?

17 个答案:

答案 0 :(得分:675)

如果您要还原的数据库尚不存在,则需要先创建它。

在命令行中,如果您位于包含转储文件的同一目录中,请使用以下命令(具有适当的替换):

C:\> mysql -u root -p

mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;

答案 1 :(得分:532)

应该像运行这个一样简单:

mysql -u <user> -p < db_backup.dump

如果转储属于单个数据库,则可能需要在文件顶部添加一行:

USE <database-name-here>;

如果它是许多数据库的转储,那么use语句已经存在。

要运行这些命令,请在cd可执取决于你如何安装mysql,即独立或作为WAMP等软件包的一部分。进入该目录后,您应该只需输入上面的命令即可。

答案 2 :(得分:213)

你只需要运行它:

  

mysql -p -u[user] [database] < db_backup.dump

如果转储包含多个数据库,则应省略数据库名称:

  

mysql -p -u[user] < db_backup.dump

要运行这些命令,请在cd可执取决于你如何安装mysql,即独立或作为WAMP等软件包的一部分。进入该目录后,您应该只需输入命令即可。

答案 3 :(得分:56)

mysql -u username -p -h localhost DATA-BASE-NAME < data.sql

here - step 3:这样你不需要USE声明

答案 4 :(得分:32)

当我们使用mysqldump制作转储文件时,它包含的是一个用于重新创建数据库内容的大型SQL脚本。所以我们通过启动MySQL的命令行客户端来恢复它:

mysql -uroot -p 

(其中root是我们的MySQL管理员用户名),一旦连接到数据库,我们需要命令来创建数据库并将文件读入其中:

create database new_db;
use new_db;
\. dumpfile.sql

详细信息将根据创建转储文件时使用的选项而有所不同。

答案 5 :(得分:16)

运行命令进入DB

 # mysql -u root -p 

输入用户的密码然后输入新建数据库

mysql> create database MynewDB;
mysql> exit

然后退出.Afetr that.Run this Command

# mysql -u root -p  MynewDB < MynewDB.sql

然后进入数据库并输入

mysql> show databases;
mysql> use MynewDB;
mysql> show tables;
mysql> exit

多数民众赞成........您的转储将从一个数据库恢复到另一个数据库

或者,还有一种替代转储恢复方式

# mysql -u root -p 

然后进入数据库并输入

mysql> create database MynewDB;
mysql> show databases;
mysql> use MynewDB;
mysql> source MynewDB.sql;
mysql> show tables;
mysql> exit

答案 6 :(得分:14)

我按照这些步骤开始工作......

  1. 打开MySQL管理员并连接到服务器

  2. 选择左侧的“目录”

  3. 右键单击左下方框并选择“创建新架构”

    MySQL Administrator http://img204.imageshack.us/img204/7528/adminsx9.th.gif enlarge image

  4. 命名新架构(例如:“dbn”)

    MySQL New Schema http://img262.imageshack.us/img262/4374/newwa4.th.gif enlarge image

  5. 打开Windows命令提示符(cmd)

    Windows Command Prompt http://img206.imageshack.us/img206/941/startef7.th.gif enlarge image

  6. 将目录更改为MySQL安装文件夹

  7. 执行命令:

    mysql -u root -p dbn < C:\dbn_20080912.dump
    

    ...其中“root”是用户名,“dbn”是数据库名称,“C:\ dbn_20080912.dump”是mysqldump .dump文件的路径/文件名

    MySQL dump restore command line http://img388.imageshack.us/img388/2489/cmdjx0.th.gif enlarge image

  8. 享受!

答案 7 :(得分:12)

您可以尝试SQLyog'执行SQL脚本'工具来导入sql / dump文件。

enter image description here

答案 8 :(得分:12)

如果要查看转储的进度,请尝试以下命令:

pv -i 1 -p -t -e /path/to/sql/dump | mysql -u USERNAME -p DATABASE_NAME

你当然需要安装'pv'。此命令仅适用于* nix。

答案 9 :(得分:10)

./mysql -u <username> -p <password> -h <host-name like localhost> <database-name> < db_dump-file

答案 10 :(得分:9)

作为先前答案的具体例子:

我需要恢复备份,以便将其导入/迁移到SQL Server。我只安装了MySql,但没有将其注册为服务或将其添加到我的路径中,因为我没有必要让它保持运行。

我使用Windows资源管理器将我的转储文件放在C:\ code \ dump.sql中。然后从开始菜单项打开MySql。创建了数据库,然后使用完整路径运行source命令,如下所示:

mysql> create database temp
mysql> use temp
mysql> source c:\code\dump.sql

答案 11 :(得分:7)

使用在Linux上创建的200MB转储文件在Windows w / mysql 5.5上恢复,我在

上取得了更大的成功
source file.sql

从mysql提示接近而不是

mysql  < file.sql

在命令行上接近,导致一些错误2006“服务器已经消失”(在Windows上)

奇怪的是,在(mysql)安装期间创建的服务引用了一个不存在的my.ini文件。我将“大”示例文件复制到my.ini 我已经修改了建议的增加。

我的价值观是

[mysqld]
max_allowed_packet = 64M
interactive_timeout = 250
wait_timeout = 250

答案 12 :(得分:4)

如果未从那里创建备份/转储,则无法使用MySQL Admin中的“还原”菜单。不过值得一试。如果您选择“忽略错误”并使用该复选框,它会说它已成功完成,但它显然只导出了一小部分行导入...这是一个转储,请注意。

答案 13 :(得分:3)

mysqldump

恢复生成的SQL的单行命令
mysql -u <username> -p<password> -e "source <path to sql file>;"

答案 14 :(得分:1)

您还可以使用MySQL Administrator中的还原菜单。您只需打开备份文件,然后单击还原按钮。

答案 15 :(得分:1)

假设您已经创建了空白数据库,则还可以像这样从命令行还原数据库:

sudo mysql databasename < backup.sql

答案 16 :(得分:0)

如何使用MySQLWorkbench还原MySQL数据库

您可以在查询选项卡中运行拖放并创建命令。

如果当前存在该架构,则将其删除

DROP DATABASE `your_db_name`;

创建新架构

CREATE SCHEMA `your_db_name`;

打开转储文件

MySQLWorkbench open sql file

  1. 点击在新的查询标签中打开SQL脚本图标,然后选择您的数据库转储文件。
  2. 然后单击运行SQL脚本...
  3. 然后,您可以预览SQL转储脚本的第一行。
  4. 然后,您将选择默认架构名称
  5. 接下来选择默认字符集 utf8通常是安全的选择,但是您可以通过查看预览行中的 character_set 来识别它。< / li>
  6. 点击运行
  7. 请耐心等待大型数据库还原脚本,并注意驱动器空间将逐渐消失!