5

I want to export certain tables from one database and import them to another. The tables in question are used for my MediaWiki installation and are prefixed with "wiki_".

I do not have access to phpMyAdmin, but I am able to connect to the server via SSH. I'm guessing I need to use the mysqldump command, but how do I specify that I only want to dump tables prefixed with "wiki_"?

Nemo
  • 259
  • 1
  • 13
o01
  • 249
  • 2
  • 12
  • There's a manual page for this. https://www.mediawiki.org/wiki/Manual:Backing_up_a_wiki – Nemo Apr 05 '15 at 22:10

2 Answers2

7

You have to generate the list of tables you want to dump then act upon it.

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

or as a one liner

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

but you still get to enter the password twice.

user9517
  • 114,104
  • 20
  • 206
  • 289
0

Since mysqldump can't work with wildcards, you will have to specify the tables you want:

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

Or you could specify the tables you don't want to export:

mysqldump -u username -p database --ignore-table=atable --ignore-table=anothertabl > database.sql
Bart De Vos
  • 17,761
  • 6
  • 62
  • 81