Windows Server 2008マシンのデータベースとして復元する必要があるMySQLデータベースファイルが提供されました。
MySQL Administratorを使用してみましたが、次のエラーが発生しました:
選択したファイルはmysqldumpによって生成されたため、このアプリケーションでは復元できません。
これを機能させるにはどうすればよいですか?
Windows Server 2008マシンのデータベースとして復元する必要があるMySQLデータベースファイルが提供されました。
MySQL Administratorを使用してみましたが、次のエラーが発生しました:
選択したファイルはmysqldumpによって生成されたため、このアプリケーションでは復元できません。
これを機能させるにはどうすればよいですか?
回答:
これを実行するのと同じくらい簡単でなければなりません:
mysql -u <user> -p < db_backup.dump
ダンプが単一のデータベースのものである場合は、ファイルの先頭に行を追加する必要がある場合があります。
USE <database-name-here>;
多くのデータベースのダンプである場合、useステートメントはすでにそこにあります。
これらのコマンドを実行するには、コマンドプロンプトを開き(Windowsの場合)cd
、mysql.exe
実行可能ファイルがあるディレクトリに移動します(そのため、少し見回す必要がある場合があります。これは、mysqlのインストール方法、つまりスタンドアロンまたはの一部として異なります。 WAMPのようなパッケージ)。そのディレクトリに移動したら、上記のようにコマンドを入力するだけです。
mysql -u<user> -p mydatabasename < db_backup.dump
必要ありませんUSE
復元するデータベースがまだ存在しない場合は、最初に作成する必要があります。
コマンドラインで、ダンプされたファイルが含まれているのと同じディレクトリにいる場合は、次のコマンドを(適切な置換を使用して)使用します。
C:\> mysql -u root -p
mysql> create database mydb;
mysql> use mydb;
mysql> source db_backup.dump;
mysql -u root -psecret
、スペースを使用せずにコマンドラインでパスワードを指定できますが、パスワードがプロセスリストやログファイルにクリアテキストで表示されるという欠点があります。あなたが提案するように、空を使用-p
してプロンプトに入力する方が良いです。
mysqldump db | gzip -9 > dumpfile.sql.gz
)
これを実行するだけです:
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
ここを見てください-ステップ3:この方法でUSEステートメントは必要ありません
コマンドを実行してDBに入力します
# mysql -u root -p
ユーザーのパスワードを入力してから、新しいDBを作成します
mysql> create database MynewDB;
mysql> exit
そして、exit.Afetr thatを作成します。このコマンドを実行します
# mysql -u root -p MynewDB < MynewDB.sql
次に、dbに入力して入力します
mysql> show databases;
mysql> use MynewDB;
mysql> show tables;
mysql> exit
それで........ダンプは1つのDBから別のDBに復元されます
または、ダンプを復元する別の方法があります
# mysql -u root -p
次に、dbに入力して入力します
mysql> create database MynewDB;
mysql> show databases;
mysql> use MynewDB;
mysql> source MynewDB.sql;
mysql> show tables;
mysql> exit
私はそれをこれらのステップに従って動作させました…
MySQL Administratorを開き、サーバーに接続します
左側の「カタログ」を選択します
左下のボックスを右クリックして、「新規スキーマの作成」を選択します
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 Serverにインポート/移行できるように、バックアップを復元する必要がありました。MySqlのみをインストールしましたが、サービスとして登録したり、実行を維持する必要がないため、パスに追加したりしていません。
Windowsエクスプローラーを使用して、ダンプファイルをC:\ code \ dump.sqlに配置しました。次に、スタートメニュー項目から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 -u <username> -p <password> -h <host-name like localhost> <database-name> < db_dump-file
mysql
コマンドはオプションとその引数の間にスペースを受け付けません。-u<username>
代わりにする必要があり、パスワードをコマンドラインで指定しないでください。
バックアップ/ダンプがそこから作成されていない場合、MySQL Adminの[復元]メニューを使用できません。それは一撃の価値があります。チェックボックスをオンにして「エラーを無視する」を選択した場合、インポートはほんの一部の行だけで終了しますが、これはダンプ付きです。
生成されたSQLを復元するワンライナーコマンド mysqldump
mysql -u <username> -p<password> -e "source <path to sql file>;"
mysql -u root -p12345678 -e "source /tmp/backup.sql;"
クエリタブでドロップコマンドと作成コマンドを実行できます。
DROP DATABASE `your_db_name`;
CREATE SCHEMA `your_db_name`;