Migrar
# Piped Import/Export
mysqldump -h XXXXX.celcywoewbya.XXXXX.rds.amazonaws.com -u XXXXX -pXXXXX DB_NAME | mysql -h XXXXX.celcywoewbya.XXXXX.rds.amazonaws.com -u XXXXX -pXXXXX DB_NAME
Migrar usuários
Isso pode precisar ser executado novamente após os bancos de dados / tabelas serem importados. Isso porque certos usuários podem ter permissões apenas em certos bancos de dados ou mesmo em certas tabelas nos bancos de dados e a criação do usuário falhará a menos que esses bancos de dados / tabelas existam.
# Migrate Users
# Bash function
mygrants()
{
mysql -B -N $@ -e "SELECT DISTINCT CONCAT(
'SHOW GRANTS FOR '', user, ''@'', host, '';'
) AS query FROM mysql.user" |
mysql $@ |
sed 's/(GRANT .*)/1;/;s/^(Grants for .*)/## 1 ##/;/##/{x;p;x;}'
}
# User Dump
mygrants -h XXXXX.celcywoewbya.XXXXX.rds.amazonaws.com -u XXXXX -pXXXXX mysql
# 1. Execute output of User Dump in SQL Editor
# 2. Run "FLUSH PRIVILEGES"
Migrar sem DEFINER
Se você receber um aviso sobre o DEFINER ou TRIGGERS, poderá remover o DEFINER se necessário. No entanto, é melhor copiar os usuários diretamente usando o mygrants
abaixo.
# Piped Import/Export with DEFINER removed
mysqldump -h XXXXX.celcywoewbya.XXXXX.rds.amazonaws.com -u XXXXX -pXXXXX DB_NAME | sed -e 's/DEFINER[ ]*=[ ]*[^*]**/*/' | mysql -h XXXXX.celcywoewbya.XXXXX.rds.amazonaws.com -u XXXXX -pXXXXX DB_NAME