コマンドラインで1つのファイルから複数のMySQLデータベースを復元しますか?


13

phpMyAdminを使用して、すべてのデータベースをファイルにエクスポートしました。

残念ながら、宛先システムにphpMyAdminが機能していません。

1行のコマンドを使用して、すべてを一度に復元するにはどうすればよいですか?


1
ファイルを調べましたか?必要に応じて、データベースを作成してデータベースに切り替えるコマンドを含める必要があります。
トムレグナー

はい、データベースが作成され、USE database_nameコマンドを使用して選択されています。
-smhnaji

それからUnniとlaurentsの答えは正しいです。
トムレグナー

回答:


18

すべてのファイルを単一のファイルに連結し、インポート/復元を使用してみませんか

mysql -u username -p < dump.sql

を使用して1つのファイルを作成します

mysqldump -u username -p --all-databases > dump.sql

OPにはすでに1つのファイルがあり、彼はファイルを復元する必要があるので、もうファイルをダンプできません。
ローレント

@laurentはい、わかりました。を使用mysql -u username -p < dump.sqlすると、複数のmysqlデータベースがロードされます。
devav2

はい、それは確かです
ローレント

2
私にはうまくいきませんでした。それは私がdatabseを選択する必要があると述べている
Aryehアーモン

3

多くのデータベースを1つのファイルにバックアップした場合create database、同じファイルのステートメントをバックアップしたと考えられます。そうでない場合は、適切な場所でファイルにcreate databaseand use databaseステートメントを追加するだけです。

その後、ファイルをmysqlにロードするコマンドは次のとおりです。

mysql -p < sqlfile.sql

-p パスワードを尋ねることです。

あなたは使用することができ-u usernameますが、別のユーザーを使用する必要がある場合。


1

sqlファイルを復元するmysqlコマンドは次のとおりです。

mysql DATABASE_NAME < SQL_FILENAME.sql

まず、ファイルがsqlであることを確認してください。gzファイル拡張子で終わる場合は、コマンドを使用して解凍する必要があります。

gunzip SQL_FILE.sql.gz

1
-1 上記で述べたように、ファイルには複数のデータベースが保存されており、すべてのデータベースを一度に復元する必要があります。
smhnaji

phpmyadminで各データベースを個別にエクスポートし、ソースサーバーで復元できますか?または、sedやawkなどのLinuxストリームエディタを使用して、別のファイルに分割します。
Unni

1
必要はありません、彼は単一のファイルからすべてのデータベースをインポートできます
-laurent
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.