私は自分のWindows Server 2008マシン上のデータベースとして復元する必要があるMySQLデータベースファイルを与えられました。
MySQL Administratorを使用しようとしましたが、次のエラーが発生しました。
選択されたファイルはmysqldumpによって生成されたもので、このアプリケーションでは復元できません。
これをどうやって動かすの?
これはこれを実行するのと同じくらい簡単なはずです。
mysql -u <user> -p < db_backup.dump
ダンプが単一データベースの場合は、ファイルの先頭に1行追加する必要があります。
USE <database-name-here>;
それが多数のデータベースのダンプだった場合は、useステートメントはすでにそこにあります。
これらのコマンドを実行するには、コマンドプロンプト(Windowsの場合)とcd
をmysql.exe
実行可能ファイルのあるディレクトリに開きます(多少見返す必要があるかもしれませんが、mysqlのインストール方法によって異なります。 WAMPのようなパッケージの一部です。そのディレクトリに入ったら、上記のようにコマンドを入力するだけで済みます。
復元したいデータベースがまだ存在しない場合は、最初にそれを作成する必要があります。
コマンドラインで、ダンプされたファイルと同じディレクトリにいる場合は、これらのコマンドを(適切な置換を付けて)使用します。
C:\> mysql -u root -p
mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;
これを実行するだけです。
mysql -p -u[user] [database] < db_backup.dump
ダンプに複数のデータベースが含まれている場合は、データベース名を省略する必要があります。
mysql -p -u[user] < db_backup.dump
これらのコマンドを実行するには、コマンドプロンプト(Windowsの場合)とcd
をmysql.exe
実行可能ファイルのあるディレクトリに開きます(多少見返す必要があるかもしれませんが、mysqlのインストール方法によって異なります。 WAMPのようなパッケージの一部です。そのディレクトリに入ったら、コマンドを入力するだけです。
mysql -u username -p -h localhost DATA-BASE-NAME < data.sql
look here-step :USEステートメントは必要ありません
mysqldump
を使用してダンプファイルを作成すると、そこに含まれているのは、データベースの内容を再作成するための大きなSQLスクリプトです。そのため、MySQLのコマンドラインクライアントを起動して復元します。
mysql -uroot -p
(ここでroot
はMySQLの管理ユーザー名です)そしてデータベースに接続したらデータベースを作成しファイルを読み込むコマンドが必要です。
create database new_db;
use new_db;
\. dumpfile.sql
ダンプファイルの作成時に使用されたオプションによって詳細が異なります。
コマンドを実行して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
私はこれらのステップに従って動作するようになりました…
MySQL Administratorを開き、サーバーに接続します
左側の「カタログ」を選択してください
左下のボックスを右クリックして[Create New Schema]を選択します。
MySQL管理者http://img204.imageshack.us/img204/7528/adminsx9.th.gif画像を拡大する
新しいスキーマに名前を付けます(例: "dbn")
MySQLの新しいスキーマhttp://img262.imageshack.us/img262/4374/newwa4.th.gif画像を拡大
Windowsのコマンドプロンプトを開く(cmd)
Windowsコマンドプロンプトhttp://img206.imageshack.us/img206/941/startef7.th.gif画像を拡大
MySQLのインストールフォルダに移動します
コマンドを実行します。
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画像を拡大
楽しい!
あなたはsql/dumpファイルをインポートするために SQLyog 'Execute SQL script'ツールを試すことができます。
ダンプの進行状況を確認したい場合は、これを試してください。
pv -i 1 -p -t -e /path/to/sql/dump | mysql -u USERNAME -p DATABASE_NAME
もちろん 'pv'をインストールする必要があります。このコマンドは* nixでのみ機能します。
./mysql -u <username> -p <password> -h <Host-name like localhost> <database-name> < db_dump-file
以前の回答の具体例として、
SQL Serverにインポート/移行できるように、バックアップを復元する必要がありました。 MySqlのみをインストールしましたが、実行し続ける必要がないため、サービスとして登録したり、自分のパスに追加したりしませんでした。
私は自分のダンプファイルをC:\ code\dump.sqlに置くためにWindowsエクスプローラを使いました。その後、スタートメニュー項目からMySqlを開きました。 DBを作成してから、次のようにフルパスでsourceコマンドを実行しました。
mysql> create database temp
mysql> use temp
mysql> source c:\code\dump.sql
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
そこからバックアップ/ダンプが作成されていない場合、MySQL Adminの[Restore]メニューは使用できません。それは一撃の価値がある。チェックボックスをオンにして「エラーを無視する」を選択した場合は、正常に完了したことがわかりますが、インポートされた行のほんの一部で終了します。ダンプ付きです。
mysqldump
から生成されたSQLを復元するためのワンライナーコマンド
mysql -u <username> -p<password> -e "source <path to sql file>;"
空のデータベースがすでに作成されていると仮定すると、次のようにコマンドラインからデータベースを復元することもできます。
Sudo mysql databasename < backup.sql
MySQL Administratorの復元メニューを使用することもできます。バックアップファイルを開き、[復元]ボタンをクリックするだけです。
クエリタブでdropコマンドとcreateコマンドを実行できます。
DROP DATABASE `your_db_name`;
CREATE SCHEMA `your_db_name`;