Вы можете получить доступ RDS инстансы через EIP или через ECS.
Для получения подробностей о том, как создать и подключиться к ECS, см. Как создать и подключиться к ECS?
Версия клиента MySQL должна совпадать с версией движка DB вашего экземпляра RDS for MySQL. База данных MySQL или клиент предоставят mysqldump и mysql.
После миграции данных в RDS вам может потребоваться изменить IP-адрес. Для подробностей см. Changing a Floating IP Address.
Системные базы данных RDS mysql и sys нельзя импортировать из одного RDS for MySQL экземпляра в другой.
Перед миграцией базы данных в RDS, её данные необходимо экспортировать.
Эта mysql база данных требуется для RDS управление. При экспорте структуры таблицы не указывайте --all-database. В противном случае произойдёт сбой базы данных.
mysqldump --databases <DB_NAME> --single-transaction --order-by-primary --hex-blob --no-data --routines --events --set-gtid-purged=OFF-u <DB_USER> -p -h<DB_ADDRESS> -P <DB_PORT>|sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' -e 's/DEFINER[ ]*=.*FUNCTION/FUNCTION/' -e 's/DEFINER[ ]*=.*PROCEDURE/PROCEDURE/' -e 's/DEFINER[ ]*=.*TRIGGER/TRIGGER/' -e 's/DEFINER[ ]*=.*EVENT/EVENT/' ><BACKUP_FILE>
Введите пароль базы данных, когда будет запрошено.
Пример:
mysqldump --databases rdsdb --single-transaction --order-by-primary --hex-blob --no-data --routines --events --set-gtid-purged=OFF -u root -p -h 192.168.151.18 -P 3306 |sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/' -e 's/DEFINER[ ]*=.*FUNCTION/FUNCTION/' -e 's/DEFINER[ ]*=.*PROCEDURE/PROCEDURE/' -e 's/DEFINER[ ]*=.*TRIGGER/TRIGGER/' -e 's/DEFINER[ ]*=.*EVENT/EVENT/' > dump-defs.sql
Введите пароль:
Если вы используете mysqldump версии ранее 5.6, удалите --set-gtid-purged=OFF перед выполнением этой команды.
После выполнения этой команды, a dump-defs.sql файл будет сгенерирован следующим образом:
[rds@localhost ~]$ ll dump-defs.sql-rw-r-----. 1 rds rds 2714 Sep 21 08:23 dump-defs.sql
Эта mysql база данных требуется для RDS управление. При экспорте данных не указывайте --all-database. В противном случае произойдет ошибка базы данных.
mysqldump --databases <DB_NAME> --single-transaction --hex-blob --set-gtid-purged=OFF --no-create-info --skip-triggers-u<DB_USER> -p -h<DB_ADDRESS> -P<DB_PORT> -r<BACKUP_FILE>
Для получения сведений о параметрах в предыдущей команде см 2.
Введите пароль базы данных, когда будет предложено.
Пример:
mysqldump --databases rdsdb --single-transaction --hex-blob --set-gtid-purged=OFF --no-create-info --skip-triggers -u root -p -h 192.168.151.18 -P 3306 -r dump-data.sql
Если вы используете mysqldump версии ранее 5.6, удалите --set-gtid-purged=OFF перед выполнением этой команды.
После выполнения этой команды, a dump-data.sql файл будет создан следующим образом:
[rds@localhost ~]$ ll dump-data.sql-rw-r-----. 1 rds rds 2714 Sep 21 08:23 dump-data.sql
Вы можете подключить ваш клиент к RDS и импортировать экспортированные SQL файлы в RDS.
Если исходная база данных содержит триггеры, хранимые процедуры, функции или события, вы должны установить log_bin_trust_function_creators на ON в целевой базе данных перед импортом данных.
# mysql -f -h<RDS_ADDRESS> -P<DB_PORT> -u root -p < <BACKUP_DIR>/dump-defs.sql
Пример:
# mysql -f -h 172.16.66.198 -P 3306 -u root -p < dump-defs.sql
Введите пароль:
Если вы собираетесь импортировать SQL‑операторы таблицы в RDS, укажите базу данных (mydb) в команде. В противном случае может появиться сообщение об ошибке "No database selected". Пример:
# mysql -f -h 172.16.66.198 -P 3306 -u root -p mydb < dump-defs.sql
Введите пароль:
# mysql -f -h<RDS_ADDRESS> -P<DB_PORT> -u root -p < <BACKUP_DIR>/dump-data.sql
Пример:
# mysql -f -h 172.16.66.198 -P 3306 -u root -p < dump-data.sql
Введите пароль:
Если вы собираетесь импортировать SQL‑операторы таблицы в RDS, укажите базу данных (mydb) в команде. В противном случае может быть отображено сообщение об ошибке "No database selected". Пример:
# mysql -f -h 172.16.66.198 -P 3306 -u root -p mydb < dump-defs.sql
Введите пароль:
mysql> show databases;
Следующий результат указывает, что база данных rdsdb была импортирована.
mysql> show databases;+--------------------+| Database |+--------------------+| information_schema || rdsdb || mysql || performance_schema |+--------------------+4 rows in set (0.00 sec)