web-dev-qa-db-ja.com

Mysqldumpからダンプファイルを復元する方法

私は自分のWindows Server 2008マシン上のデータベースとして復元する必要があるMySQLデータベースファイルを与えられました。

MySQL Administratorを使用しようとしましたが、次のエラーが発生しました。

選択されたファイルはmysqldumpによって生成されたもので、このアプリケーションでは復元できません。

これをどうやって動かすの?

488
Zack Peterson

これはこれを実行するのと同じくらい簡単なはずです。

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

ダンプが単一データベースの場合は、ファイルの先頭に1行追加する必要があります。

USE <database-name-here>;

それが多数のデータベースのダンプだった場合は、useステートメントはすでにそこにあります。

これらのコマンドを実行するには、コマンドプロンプト(Windowsの場合)とcdmysql.exe実行可能ファイルのあるディレクトリに開きます(多少見返す必要があるかもしれませんが、mysqlのインストール方法によって異なります。 WAMPのようなパッケージの一部です。そのディレクトリに入ったら、上記のようにコマンドを入力するだけで済みます。

525
Justin Bennett

復元したいデータベースがまだ存在しない場合は、最初にそれを作成する必要があります。

コマンドラインで、ダンプされたファイルと同じディレクトリにいる場合は、これらのコマンドを(適切な置換を付けて)使用します。

C:\> mysql -u root -p

mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;
668
Dónal

これを実行するだけです。

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

ダンプに複数のデータベースが含まれている場合は、データベース名を省略する必要があります。

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

これらのコマンドを実行するには、コマンドプロンプト(Windowsの場合)とcdmysql.exe実行可能ファイルのあるディレクトリに開きます(多少見返す必要があるかもしれませんが、mysqlのインストール方法によって異なります。 WAMPのようなパッケージの一部です。そのディレクトリに入ったら、コマンドを入力するだけです。

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

look here-step :USEステートメントは必要ありません

58
womd

mysqldumpを使用してダンプファイルを作成すると、そこに含まれているのは、データベースの内容を再作成するための大きなSQLスクリプトです。そのため、MySQLのコマンドラインクライアントを起動して復元します。

mysql -uroot -p 

(ここでrootはMySQLの管理ユーザー名です)そしてデータベースに接続したらデータベースを作成しファイルを読み込むコマンドが必要です。

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

ダンプファイルの作成時に使用されたオプションによって詳細が異なります。

32
pdc

コマンドを実行してDBに入力する

 # mysql -u root -p 

ユーザーのパスワードを入力してから、新しいDBを作成します。

mysql> create database MynewDB;
mysql> exit

そしてexit.Afetr that。を実行します。このコマンドを実行します

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

それからデータベースに入り、タイプしなさい

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

それは........あなたのダンプはあるDBから別のDBに復元されます

それ以外の場合は、ダンプ復元の代替方法があります

# mysql -u root -p 

それからデータベースに入り、タイプしなさい

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

私はこれらのステップに従って動作するようになりました…

  1. MySQL Administratorを開き、サーバーに接続します

  2. 左側の「カタログ」を選択してください

  3. 左下のボックスを右クリックして[Create New Schema]を選択します。

    MySQL管理者http://img204.imageshack.us/img204/7528/adminsx9.th.gif画像を拡大する

  4. 新しいスキーマに名前を付けます(例: "dbn")

    MySQLの新しいスキーマhttp://img262.imageshack.us/img262/4374/newwa4.th.gif画像を拡大

  5. Windowsのコマンドプロンプトを開く(cmd)

    Windowsコマンドプロンプトhttp://img206.imageshack.us/img206/941/startef7.th.gif画像を拡大

  6. MySQLのインストールフォルダに移動します

  7. コマンドを実行します。

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

    …ここで、 "root"はユーザーの名前、 "dbn"はデータベース名、 "C:\ dbn_20080912.dump"はmysqldump .dumpファイルのパス/ファイル名です。

    MySQLダンプリストアコマンドラインhttp://img388.imageshack.us/img388/2489/cmdjx0.th.gif画像を拡大

  8. 楽しい!

14
Zack Peterson

あなたはsql/dumpファイルをインポートするために SQLyog 'Execute SQL script'ツールを試すことができます。

enter image description here

12
Ashwin A

ダンプの進行状況を確認したい場合は、これを試してください。

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

もちろん 'pv'をインストールする必要があります。このコマンドは* nixでのみ機能します。

12
Hengjie
./mysql -u <username> -p <password> -h <Host-name like localhost> <database-name> < db_dump-file
10
vkrishna17

以前の回答の具体例として、

SQL Serverにインポート/移行できるように、バックアップを復元する必要がありました。 MySqlのみをインストールしましたが、実行し続ける必要がないため、サービスとして登録したり、自分のパスに追加したりしませんでした。

私は自分のダンプファイルをC:\ code\dump.sqlに置くためにWindowsエクスプローラを使いました。その後、スタートメニュー項目からMySqlを開きました。 DBを作成してから、次のようにフルパスでsourceコマンドを実行しました。

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

Linux上で作成された200MBのダンプファイルを使用して、Windows上の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
7
Jerome_B

そこからバックアップ/ダンプが作成されていない場合、MySQL Adminの[Restore]メニューは使用できません。それは一撃の価値がある。チェックボックスをオンにして「エラーを無視する」を選択した場合は、正常に完了したことがわかりますが、インポートされた行のほんの一部で終了します。ダンプ付きです。

4
jerotas

mysqldumpから生成されたSQLを復元するためのワンライナーコマンド

mysql -u <username> -p<password> -e "source <path to sql file>;"
3
Jossef Harush

空のデータベースがすでに作成されていると仮定すると、次のようにコマンドラインからデータベースを復元することもできます。

Sudo mysql databasename < backup.sql
1
Suragch

MySQL Administratorの復元メニューを使用することもできます。バックアップファイルを開き、[復元]ボタンをクリックするだけです。

1
user26087

MySQLWorkbenchを使用してMySQLデータベースを復元する方法

クエリタブでdropコマンドとcreateコマンドを実行できます。

スキーマが現在存在する場合は削除します。

DROP DATABASE `your_db_name`;

新しいスキーマを作成する

CREATE SCHEMA `your_db_name`;

ダンプファイルを開く

MySQLWorkbench open sql file

  1. 新しいクエリタブでSQLスクリプトを開く アイコンをクリックして、dbダンプファイルを選択します。
  2. 次に SQLスクリプトの実行... をクリックします。
  3. その後、SQLダンプスクリプトの最初の行をプレビューできます。
  4. その後、 デフォルトスキーマ名 を選択します。
  5. 次に デフォルト文字セットを選択します utf8は通常安全な方法ですが、プレビュー行を見て character_set のようなものを見分けることができます。
  6. クリック 実行
  7. 大容量のDB復元スクリプトを作成して、ドライブの空き領域がなくなっていくのを見てください。 ????
0
CTS_AE