2012-03-19 5 views
2

私のウェブサイトに自分のmysqlデータベースを復元しようとしていて、データベース内のすべてのテーブルが個々のファイルに落とされるので、SSHでデータベース.sqlファイルをすべて復元するにはどうすればいいですか? 100個のテーブルすべてを個別にリストアするのではなく、単一の(または簡単なコマンド)。SSH経由で複数のデータベースを一度にインポートするには?

答えて

9
cat *.sql > data.sql 
mysql -u <username> -p < data.sql 
1

それはあなたの個々のファイルを作成した方法によって異なります - 彼らはすべての命令を持っている場合(表を再作成するために、すなわち、「ドロップが存在する場合は...」、に挿入」「作成...」と、

cat *.sql | mysql -u xxx -pxxx dbname 

を又は第二の選択肢は、あなたがより簡単に処理されたファイルの順序を制御することができますそれ

#!/bin/sh 
mysql -u xxx -pxxx dbname < file001.sql 
mysql -u xxx -pxxx dbname < file002.sql 

行うためにスクリプトを書く:... ")、そしてあなたは、MySQLにそれらを連結することができます。

最後に、より便利な方法でバックアップを作成することができます。データベース(またはいくつか!)を1つのファイル(基本的には「mysqldump -u xxx -pxxx dbname> dbname」)にダンプする方法についてはmysqldumpをチェックしてください。 sql "が追加されているかもしれない有益なフラグがいくつかあります)。

+1

「mysqlDUMP -u xxx -pxxx dbname> dbname.sql」である必要があります。D – scibuff

+0

はい、実際はそうです。良いキャッチ - ありがとう、@ scibuff。私はそれに応じて私の答えを修正した。 –

関連する問題