あるデータベースから特定のテーブルをエクスポートして、別のデータベースにインポートしたいと思います。問題のテーブルは私のMediaWikiのインストールに使用され、接頭辞「wiki_」が付いています。
PhpMyAdminにアクセスできませんが、SSH経由でサーバーに接続できます。 mysqldump
コマンドを使用する必要があると思いますが、プレフィックスが「wiki_」のテーブルのみをダンプするように指定するにはどうすればよいですか?
ダンプしたいテーブルのリストを生成し、それに基づいて行動する必要があります。
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回入力することはできます。
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