Last active
January 4, 2021 20:13
-
-
Save guigmaster/caf24daa7ff83f615316de1ffd69b5d0 to your computer and use it in GitHub Desktop.
Coleção de utilitários para dump de dados pelo mysql
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Realiza o backup completo com estrutura, dados views, procedures, functions e triggers | |
# utilizando insert completo pela option --complete-insert | |
# alem de converter os binários para hexadecimal com a option --hex-blob | |
# inclui CREATE BATABASE option -B | |
mysqldump -u username -p --opt --complete-insert --hex-blob --routines -B databasename > databasename.sql | |
# Realiza o backup da estrutura tanto tables quanto views | |
# exclui as triggers otion --skip-triggers | |
# ignora os dados --no-data | |
mysqldump -u username -p --opt --no-data --skip-triggers databasename > estrutura.sql | |
# Realiza o dump apenas dos dados com insert completo | |
# ingora a estrutura option --no-create-info | |
mysqldump -u username -p --no-create-info --skip-triggers --complete-insert databasename > estrutura.sql | |
# Realiza o dump apenas das Triggers | |
mysqldump -u username -p --no-create-info --no-data databasename > triggers.sql | |
# Realiza o dump apenas das procedures e functions | |
mysqldump -u username -p --routines --no-create-info --no-data --skip-triggers databasename > proc_fun.sql | |
# Realiza o dump apenas das tabelas sem as views | |
mysql -u username -pESCAPED_PASSWORD INFORMATION_SCHEMA --skip-column-names --batch -e "select table_name from tables where table_type = 'BASE TABLE' and table_schema = 'databasename'" | xargs mysqldump -u username -pESCAPED_PASSWORD --opt --no-data --skip-triggers databasename > estrutura_whitout_views.sql | |
# Realiza o dump apenas das views | |
mysql -u username -pESCAPED_PASSWORD INFORMATION_SCHEMA --skip-column-names --batch -e "select table_name from tables where table_type = 'VIEW' and table_schema = 'databasename'" | xargs mysqldump -u username -pESCAPED_PASSWORD --opt --no-data --skip-triggers databasename > views_only.sql | |
# Realiza o backup full, remove DEFINER e AUTO_INCREMENT | |
mysqldump -h localhost -P 3306 -u username -pESCAPED_PASSWORD --opt --complete-insert --hex-blob --routines -B databasename | sed -E 's/DEFINER=`[^`]+`@`[^`]+`/DEFINER=CURRENT_USER/g' | sed -E 's/ AUTO_INCREMENT=[0-9]*//g' > database_full.sql | |
# Realiza backup completo e adiciona DROP DATABASE | |
mysqldump --column-statistics=0 -h localhost -P 3306 -u username -pESCAPED_PASSWORD --opt --complete-insert --hex-blob --routines -B databasename | sed -E 's/DEFINER=`[^`]+`@`[^`]+`/DEFINER=CURRENT_USER/g' | sed -E 's/ AUTO_INCREMENT=[0-9]*//g' | sed "22i DROP DATABASE IF EXISTS \`databasename\`;\\n" > databasename.sql |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment