Подтвердить что ты не робот

Как импортировать локальную базу данных MySQL в экземпляр RDS db?

Я создал экземпляр RDS с именем realcardiodb (движок - mysql) и я экспортировал свою базу данных с моего локального хоста. Файл сохраняется локально localhostrealcardio.sql

В большинстве исследований говорится, что использовать mysqldump для импорта данных из локальной системы на веб-сервер, но моя система даже не распознает mysqldump.

C:\xampp\mysql>mysqldump
'mysqldump' is not recognized as an internal or external command, operable program or batch   file. 

Как разрешить эту ошибку, следует ли использовать mysqldump? (У меня определенно установлена ​​mysql в моей системе)

Есть ли лучшая утилита, которую я должен использовать?

Любая помощь приветствуется, особенно если у вас есть опыт импорта mysql в aws rds.

Спасибо! DK

Обновление 7/31/2012 Поэтому я решил, что ошибка решена. mysqldump находится в каталоге bin C:\xampp\mysql\bin > mysqldump AWS предоставляет следующие инструкции для загрузки локальной базы данных в RDS:

mysqldump acme | mysql --host=hostname --user=username --password acme

Может кто-то сломает это для меня?

1) Является ли первая "acme" (после команды mysqldump) имя моей локальной базы данных или экспортированного файла sql, который я сохранил локально?

2) Является ли имя хоста IP-адресом, Public DNS, конечной точкой RDS или нет?

3) Имя пользователя и пароль, которые я предполагаю, являются учетными данными RDS, а второй acme - это имя базы данных, которую я создал в RDS.

Спасибо!

4b9b3361

Ответ 1

Вот как я это сделал для нескольких экземпляров, которые содержали данные в таблицах 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...

Прежде чем идти вперед, позвольте мне предоставить список того, что некоторые из следующих заполнителей:

  • host.address.for.rds.server = это будет то, что называется "конечной точкой" на странице описания/настроек RDS.
  • rdsusername = главная учетная запись пользователя, созданная во время установки RDS.
  • rdsdatabase = пустая база данных, созданная внутри сервера на вашем экземпляре RDS.
  • backupfile.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;

Ответ 2

Я предпочитаю использовать workbench MySQL. Это намного проще и удобнее в использовании, чем в командной строке.

Он предоставляет простой графический интерфейс.

MySQL workbench или SQL Yog.

Это шаги, которые я сделал.

1) Установите MySQL Workbench.

2) В консоли AWS должна быть группа безопасности для вашего экземпляра RDS.  Добавьте входящее правило в эту группу для разрешения соединений с вашего устройства.  Это просто. Добавьте свой IP-адрес.

3) Откройте Workbench MySQL, добавьте новое соединение.

4) Укажите имя подключения, которое вы предпочитаете.

5) Выберите метод подключения - Стандартный TCP/IP

6) Введите конечную точку RDS в поле Hostname.

7) Порт: 3306

8) Имя пользователя: master username (тот, который вы создали во время создания вашего экземпляра RDS)

9) Пароль: главный пароль

10) Нажмите "Проверить подключение", чтобы проверить соединение.

11) Если соединение выполнено успешно, нажмите "ОК".

12) Откройте соединение.

13) вы увидите свою базу данных "realcardiodb".

14) Теперь вы можете экспортировать файл mysqldump в эту базу данных. Перейдите в раздел "Сервер". Нажмите "Импорт данных".

15) Вы можете проверить, были ли данные перенесены, просто открыв пустой файл SQL и набрав основные команды SQL, такие как использование базы данных, выберите * из таблицы;

Что это. Viola.

Ответ 3

Если у вас есть backup.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. Это была резервная копия размером 10 ГБ. Поэтому я также попробовал таблицы по таблицам. Он показывает, что процесс завершен, но некоторые данные отсутствовали для больших таблиц. Поэтому мне пришлось написать DB для переноса данных DB script.

Ответ 4

Использование рабочего стола:

  1. настроить соединение

  2. перейдите на вкладку управления и нажмите на импорт/восстановление данных

  3. нажмите на импорт из автономного файла.

  4. выберите файл mysqlbackup.sql.

  5. выберите базу данных по умолчанию.

  6. нажмите на кнопку начала импорта.

Использование командной строки (в 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

Надеюсь, это поможет.

Ответ 5

пошаговая инструкция о том, как перенести уже существующую базу данных в mysql/mariadb в уже запущенный экземпляр RDS.

Ответ 6

Вот документ AWS RDS Mysql для импорта данных клиента в RDS

http://aws.amazon.com/articles/2933

  • Создание плоских файлов, содержащих загружаемые данные
  • Остановить любые приложения, обращающиеся к целевому экземпляру БД
  • Создание моментального снимка базы данных
  • Отключить автоматическое резервное копирование Amazon RDS
  • Загрузите данные с помощью mysqlimport
  • Включить автоматическое резервное копирование снова