web-dev-qa-db-ja.com

Unixコマンドラインからプレフィックス付きのMySQLエクスポートテーブル

あるデータベースから特定のテーブルをエクスポートして、別のデータベースにインポートしたいと思います。問題のテーブルは私のMediaWikiのインストールに使用され、接頭辞「wiki_」が付いています。

PhpMyAdminにアクセスできませんが、SSH経由でサーバーに接続できます。 mysqldumpコマンドを使用する必要があると思いますが、プレフィックスが「wiki_」のテーブルのみをダンプするように指定するにはどうすればよいですか?

5
o01

ダンプしたいテーブルのリストを生成し、それに基づいて行動する必要があります。

mysql -u USER -p -D test -Bse "show tables like 'wiki_%'" >tables.out
mysqldump -u USER -p test <tables.out >wiki_tables.dump

またはワンライナーとして

mysqldump -u USER -p test $(mysql -u USER -p -D test -Bse "show tables like 'wiki_%'")

ただし、パスワードを2回入力することはできます。

5
user9517

mysqldumpはワイルドカードを使用できないため、必要なテーブルを指定する必要があります。

mysqldump -u username -p database wiki_table1 wiki_table2 .. > database.sql

または、エクスポートしたくないテーブルを指定することもできます。

mysqldump -u username -p database --ignore-table=atable --ignore-table=anothertabl > database.sql
0
Bart De Vos