Excluindo / incluindo tabelas no mysqldump AWS

2

Estou tentando descobrir como excluir ou incluir tabelas específicas ao executar o comando mysqldump no AWS via terminal.

Antecedentes: Eu tenho um multisite WordPress, mas só preciso das tabelas com os primeiros 3 caracteres "wp_" todas as outras tabelas com prefixos como "wp_1", "wp_2", etc. Eu não preciso do arquivo de despejo .

Aqui está o código que estou usando para gerar o arquivo de despejo que funciona, mas pega todas as tabelas no banco de dados:

mysqldump -h RDS instance endpoint \ 
-u user \ 
-p databasename \ 
--port=3306 \ 
--single-transaction \ 
--routines \ 
--triggers \ 
--databases databasename > path/rds-dump.sql

Obrigado!

    
por Christian 19.02.2016 / 18:59

3 respostas

2

Uma coisa que implementei quando enfrentei o mesmo problema é que criei um arquivo com todos os nomes de tabela necessários. Agora eu só tenho que Iterar através do arquivo e pegar o despejo de cada tabela e anexá-lo no mesmo arquivo de despejo. Por exemplo:

for i in $(cat requiredtables.txt);do mysqldump -h RDS_instance -u user -p'password' db_name $i >> db_dump.sql;done
    
por 19.02.2016 / 21:37
0

Eu olhei para isso um tempo atrás, quando movia meus próprios sites, e minha conclusão é que não é possível. Provavelmente existe uma maneira de processar o arquivo de despejo após a exportação, mas eu provavelmente não me incomodaria sem uma boa razão.

    
por 19.02.2016 / 19:13
0

Isso não é possível, mas você sempre pode despejar o banco de dados inteiro e criar uma consulta SQL que elimine as tabelas indesejadas. No entanto, isso não irá reduzir o tempo do mysqldump.

    
por 19.02.2016 / 19:21