Advertisement
Guest User

Untitled

a guest
Mar 8th, 2017
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.96 KB | None | 0 0
  1. #!/bin/bash
  2. echo 'Migrar banco de dados de Latin1 para UTF-8'
  3. echo
  4. echo '===================='
  5. echo
  6. echo 'Realizando backup do banco na pasta atual'
  7.  
  8. now="$(date +'%Y%m%d-%H%M')"
  9.  
  10. # Old DB
  11. old_db_name=my_old_database_name
  12. old_db_host=my_old_hostname
  13. old_db_user=my_old_database_user
  14. old_db_password=123456
  15.  
  16. # New DB
  17. new_db_name=my_new_database_name
  18. new_db_host=my_new_hostname
  19. new_db_user=my_new_database_user
  20. new_db_password=123456
  21.  
  22. # Backup path
  23. backup='~/db_backup_'$now'.sql'
  24.  
  25. mysqldump -h $old_host -u $old_db_user -p$old_db_password -v --single-transaction $old_db_name > './'$backup
  26.  
  27. # Se já existir o banco de dados ainda não existir, pode descomentar a as linhas abaixo
  28. # echo 'DROP DATABASE IF EXISTS '$new_db_name'; ' > ./create_utf8_db.sql
  29. # echo 'CREATE DATABASE `'$new_db_name'` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci; ' >> ./create_utf8_db.sql
  30. # echo 'CREATE USER '$new_db_user'@'$new_db_host' IDENTIFIED BY '$new_db_password'; ' >> ./create_utf8_db.sql
  31. # echo 'FLUSH PRIVILEGES;'
  32. # mysql -h $new_db_host -u $new_db_user -p$new_db_password < ./create_utf8_db.sql
  33. # rm create_utf8_db.sql
  34.  
  35. echo
  36. echo '===================='
  37. echo
  38. echo 'Copiando o schema do banco de dados atual para o novo já alterando o charset de Latin1 para utf8'
  39.  
  40. mysqldump -h $old_db_host -u $old_db_user -p$old_db_password $old_db_name -v --single-transaction --no-data --skip-set-charset --default-character-set=latin1 | sed 's/CHARSET=latin1/CHARSET=utf8/g' | mysql -h $new_db_host -u $new_db_user -p$new_db_password $new_db_name --default-character-set=utf8
  41.  
  42. echo
  43. echo '===================='
  44. echo
  45. echo 'Passando os dados do banco atual para o novo'
  46.  
  47. mysqldump -h $old_db_host -u $old_db_user -p$old_db_password $old_db_name -v --no-create-db --single-transaction --no-create-info --skip-set-charset --default-character-set=latin1 | mysql -h $new_db_host -u $new_db_user -p$new_db_password $new_db_name --default-character-set=utf8
  48.  
  49. echo
  50. echo 'Finalizado. Pressione qualquer tecla para sair...'
  51. read
  52. exit
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement