Dump e importação de banco em uma linha
Dica publicada em Linux / Banco de Dados
Dump e importação de banco em uma linha
Dica simples e rápida para fazer dump (backup) e importação de banco de dados local e remoto, utilizando os comandos mysql e mysqldump.
Primeiramente, precisamos instalar o mysql-client. Em Debian e derivados (Ubuntu, Mint etc):
sudo apt install default-mysql-client
Esse pacote instala apenas o client do mysql/mariadb, não será instalado o server.
Para fazer dump:
mysqldump --add-drop-table -h HOST -u USUARIO -pSENHA NOME_BANCO > NOME_BANCO.sql
O parâmetro --add-drop-table adiciona o comando "DROP TABLE IF EXISTS" antes de cada "CREATE TABLE". Isso evita muita dor de cabeça na hora da importação, caso você já tenha o banco criado em seu local ou remoto.
mysql -h HOST -u USUARIO -pSENHA NOME_BANCO < NOME_BANCO.sql
Se estiver importando para o banco local, use 127.0.0.1 no host.
Lembrete: é importante ter cautela ao executar o comando mysql, principalmente se estiver lidando com banco de produção e/ou homologação. Após o "enter", não haverá nenhum pedido de confirmação.
Com isso, você simplifica o processo de dump/importação sem precisar utilizar soluções gráficas, onde em muitas vezes não funcionam corretamente, principalmente quando se utiliza Docker.
Primeiramente, precisamos instalar o mysql-client. Em Debian e derivados (Ubuntu, Mint etc):
sudo apt install default-mysql-client
Esse pacote instala apenas o client do mysql/mariadb, não será instalado o server.
Exportar
Se estiver usando a versão 8.0 do client: antes de trabalhar com o mysqldump, é importante adicionar uma linha no arquivo my.cnf. Se for o caso, acesse a dica: mysqldump - Unknown table 'COLUMN_STATISTICS' in ... [Resolvido] [Dica]Para fazer dump:
mysqldump --add-drop-table -h HOST -u USUARIO -pSENHA NOME_BANCO > NOME_BANCO.sql
O parâmetro --add-drop-table adiciona o comando "DROP TABLE IF EXISTS" antes de cada "CREATE TABLE". Isso evita muita dor de cabeça na hora da importação, caso você já tenha o banco criado em seu local ou remoto.
Importação
Para importar, utilizamos o comando mysql:mysql -h HOST -u USUARIO -pSENHA NOME_BANCO < NOME_BANCO.sql
Se estiver importando para o banco local, use 127.0.0.1 no host.
Lembrete: é importante ter cautela ao executar o comando mysql, principalmente se estiver lidando com banco de produção e/ou homologação. Após o "enter", não haverá nenhum pedido de confirmação.
Com isso, você simplifica o processo de dump/importação sem precisar utilizar soluções gráficas, onde em muitas vezes não funcionam corretamente, principalmente quando se utiliza Docker.
Muito bom.
___________________________________________________________