Как импортировать локальную БД MySQL в экземпляр БД RDS?
Я создал экземпляр RDS под названием realcardiodb (движок mysql) и я экспортировал свою базу данных из моего localhost. Файл сохраняется локально называется localhostrealcardio.в SQL
большинство исследований говорит использовать mysqldump для импорта данных из локальной системы на веб-сервер, но моя система даже не распознает mysqldump.
C:xamppmysql>mysqldump
'mysqldump' is not recognized as an internal or external command, operable program or batch file.
Как разрешить эту ошибку, я должен использовать mysqldump? (У меня определенно есть mysql install в моей системе)
есть лучше утилита я должен использовать?
любая помощь приветствуется, особенно если у вас есть опыт импорта mysql в aws rds.
спасибо! DK
7/31/2012 обновление Поэтому я разрешил ошибку. mysqldump находится в каталоге bin C:xamppmysqlbin>mysqldump AWS предоставляет инструкции folloinwg для загрузки локальной базы данных в RDS:
mysqldump acme | mysql --host=hostname --user=username --password acme
может кто-нибудь сломать это для меня?
1) является первым "acme" (после mysqldump команда) имя моей локальной базы данных или экспортированный файл sql, который я сохранил локально?
2) является ли имя хоста IP-адресом, общедоступным DNS, конечной точкой RDS или ни тем, ни другим?
3) имя пользователя и пароль, которые я предполагаю, являются учетными данными RDS, а второй acme-имя базы данных, созданной в RDS.
спасибо!
5 ответов
вот как я это сделал для нескольких экземпляров, которые имели данные в таблицах MySQl.
шаги по созданию экземпляра базы данных RDS: http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MySQL.html
Примечание: убедитесь, что в экземпляре RDS настроена группа безопасности, относящаяся к безопасности EC2 группа. http://docs.amazonwebservices.com/AmazonRDS/latest/UserGuide/USER_Workin...
прежде чем мы пойдем вперед, позвольте мне предоставить список того, что некоторые из следующих заполнителей:
- хоста.адрес.для.РДС.сервер = это будет то, что называется "конечной точкой" на странице описания/настроек RDS.
- rdsusername = основная учетная запись пользователя, созданная во время установки RDS.
- rdsdatabase = пробел база данных, созданная внутри сервера на экземпляре RDS.
- файл_резервной_копии.sql = файл дампа sql, созданный из базы данных ранее существовавшей установки.
после создания нового экземпляра базы данных RDS и настройки параметров безопасности войдите на этот сервер (из сеанса ssh на сервер EC2), а затем создайте пустую базу данных внутри экземпляра с помощью основных команд SQL.
mysql -h host.address.for.rds.server -P 3306 -u rdsusername -p
(enter your password)
create database rdsdatabase;
затем выйти из Среда MySQL внутри вашего сервера RDS.
\q
в этом руководстве предполагается, что у вас уже есть резервная копия из старой базы данных. Если нет, иди и создай его сейчас. После этого вы готовы импортировать этот файл дампа sql в пустую базу данных, ожидающую на вашем сервере RDS.
mysql -h host.address.for.rds.server -u rdsusername -p rdsdatabase < backupfile.sql
это может занять несколько секунд, в зависимости от размера файла дампа sql. Ваше указание на то, что он завершен, заключается в том, что командная строка bash появляется снова.
Примечание: команда "mysqlimport" используется при импорте данных в существующей таблице в базе данных. Может показаться, что мы "импортируем" данные, но это не то, что мы на самом деле делаем в этой ситуации. База данных, в которую мы переходим, еще не имеет таблиц, а файл дампа sql, который мы используем, содержит команды sql для создания необходимых таблиц.
подтверждение передачи
теперь, если вы не получили никаких сообщений об ошибках, то ваша передача sql, вероятно работал. Если вы хотите, вы можете дважды проверить это, подключившись к серверу базы данных RDS, просматривая созданную вами базу данных и проверяя, присутствуют ли таблицы.
mysql -h host.address.for.rds.server -P 3306 -u rdsusername -p
(enter your password)
use rdsdatabase;
show tables;
Я предпочитаю использовать MySQL workbench. Это намного проще и удобнее, чем путь командной строки.
обеспечивает простой графический интерфейс.
MySQL workbench или SQL Yog.
Это шаги, которые я сделал.
1) Установите MySQL Workbench.
2) в консоли AWS должна быть группа безопасности для экземпляра RDS. Добавьте в эту группу входящее правило для разрешения подключений с компьютера. Все просто. Добавить свой IP-адрес.
3) Откройте MySQL workbench, добавьте новое соединение.
4) Дайте соединению имя, которое вы предпочитаете.
5) выберите метод подключения-стандартный TCP / IP
6) введите конечную точку RDS в поле Имя хоста.
7) порт:3306
8) Username: master username (тот, который вы создали во время создания вашего экземпляра RDS)
9)пароль: мастер-пароль
10) Нажмите Тест Подключение для проверки подключения.
11)если соединение успешно, нажмите OK.
12) откройте соединение.
13) вы увидите свою базу данных "realcardiodb" там.
14) Теперь вы можете экспортировать файл mysqldump в эту базу данных. Перейти к - > сервер. Щелкните Импорт Данных.
15) вы можете проверить, были ли данные перенесены, просто открыв пустой файл SQL и введя основные команды SQL, такие как use database, выберите * from стол;
Если у вас есть резервная копия.sql на вашем ПК не нужно передавать в EC2. Просто дайте ниже строку на вашем терминале на вашем ПК.
$ mysql -h rdsinstance-hostaddress-ending.rds.amazonaws.com -u rds_username -p rds_database < /path/to/your/backup.sql
введите пароль: paswd_mysql_user
вот и все.
импортировать резервную копию непосредственно с существующего удаленного сервера
SSH подключение к удаленному серверу
получить резервную копию mysql удаленного сервера (backup/path/backupfile.в SQL)
импорт файла резервной копии в RDS mysql во время удаленный сервер Шелл
mysql -h your-mysql-instance.region.rds.amazonaws.com -u db_username -p db_name < backup/path/backupfile.sql
Примечание:
Я пробовал все вышеперечисленные критерии для импорта существующей резервной копии в новую базу данных RDS, в том числе через EC2, как в документации AWS. Это была резервная копия 10GB. Поэтому я пробовал таблицы по таблицам. Он показывает, что процесс завершен, но некоторые данные отсутствовали для больших таблиц. Поэтому мне пришлось написать сценарий переноса данных DB в DB.
используя верстак :
настройки соединения
перейдите на вкладку Управление и нажмите на импорт/восстановление данных
нажмите на импорт из автономного файла .
выбрать .
выберите базу данных по умолчанию.
нажмите кнопку начать импорт.
использование командной строки (в Windows ) :
mysqldump -u <localuser>
--databases world
--single-transaction
--compress
--order-by-primary
-p<localpassword> | mysql -u <rds-user-name>
--port=3306
--host=ednpoint
-p<rds-password>
более подробно см. : https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/MySQL.Procedural.Importing.SmallExisting.html или https://docs.bitnami.com/aws/how-to/migrate-database-rds/#using-phpmyadmin-110
надеюсь, что это помогает.
вот документ AWS RDS Mysql для импорта данных клиента в RDS
http://aws.amazon.com/articles/2933
- создание плоских файлов, содержащих данные для загрузки
- остановите все приложения, обращающиеся к целевому экземпляру БД
- создать снимок БД
- отключить автоматическое резервное копирование Amazon RDS
- загрузить данные с помощью mysqlimport
- включить автоматическое резервное копирование опять