MySQL exportar tabelas com prefixo da linha de comando do Unix

5

Eu quero exportar certas tabelas de um banco de dados e importá-las para outro. As tabelas em questão são usadas para minha instalação do MediaWiki e são prefixadas com "wiki _".

Eu não tenho acesso ao phpMyAdmin, mas consigo me conectar ao servidor via SSH. Eu estou supondo que eu preciso usar o comando mysqldump , mas como eu especifico que eu só quero despejar as tabelas prefixadas com "wiki _"?

    
por o01 01.06.2011 / 11:32

2 respostas

5

Você precisa gerar a lista de tabelas que deseja descartar e, em seguida, agir sobre ela.

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

ou como um forro

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

mas você ainda pode digitar a senha duas vezes.

    
por 01.06.2011 / 22:42
0

Como mysqldump não funciona com curingas, você precisará especificar as tabelas desejadas:

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

Ou você pode especificar as tabelas que não deseja exportar:

mysqldump -u username -p database --ignore-table=atable --ignore-table=anothertabl > database.sql
    
por 01.06.2011 / 11:48