如何将本地MySQL数据库导入RDS数据库实例?

Der*_*rek 18 mysqldump amazon-web-services amazon-rds

我创建了一个名为realcardiodb的RDS实例(引擎是mysql),我从我的localhost导出了我的数据库.文件在本地保存,名为localhostrealcardio.sql

大多数研究表示使用mysqldump将数据从本地系统导入到Web服务器,但我的系统甚至不识别mysqldump.

C:\xampp\mysql>mysqldump
'mysqldump' is not recognized as an internal or external command, operable program or batch   file. 
Run Code Online (Sandbox Code Playgroud)

如果我使用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
Run Code Online (Sandbox Code Playgroud)

有人可以为我打破这个吗?

1)第一个'acme'(在mysqldump命令之后)是我本地数据库的名称还是我在本地保存的导出的sql文件?

2)主机名是IP地址,公共DNS,RDS端点还是两者都不是?

3)我假设的用户名和密码是RDS凭证,第二个acme是我在RDS中创建的数据库的名称.

谢谢!

Dav*_*nka 42

这就是我为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;
Run Code Online (Sandbox Code Playgroud)

然后退出RDS服务器内的MySQL环境.

\q
Run Code Online (Sandbox Code Playgroud)

本教程假设您已从旧数据库中获得备份.如果不这样做,请立即创建一个.之后,您已准备好将该sql转储文件导入等待RDS服务器的空数据库.

mysql -h host.address.for.rds.server -u rdsusername -p  rdsdatabase < backupfile.sql
Run Code Online (Sandbox Code Playgroud)

可能需要几秒钟才能完成,具体取决于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;
Run Code Online (Sandbox Code Playgroud)


Lon*_*olf 22

我更喜欢使用MySQL工作台.它比命令行方式更容易和用户友好.

它提供了一个简单的GUI.

MySQL工作台或SQL Yog.

这些是我所做的步骤.

1)安装MySQL Workbench.

2)在AWS控制台中,您的RDS实例必须有一个安全组.将入站规则添加到该组以允许来自您的计算机的连接.这很简单.添加您的IP地址.

3)打开MySQL工作台,添加新连接.

4)为连接指定一个您喜欢的名称.

5)选择连接方法 - 标准TCP/IP

6)在Hostname字段中输入您的RDS端点.

7)港口:3306

8)用户名:主用户名(在创建RDS实例期间创建的用户名)

9)密码:主密码

10)单击"测试连接"以检查连接.

11)如果连接成功,请单击"确定".

12)打开连接.

13)你会在那里看到你的数据库'realcardiodb'.

14)现在您可以将mysqldump文件导出到此数据库.转到 - >服务器.单击数据导入.

15)您可以通过打开一个空白的SQL文件并输入基本的SQL命令来检查数据是否已经迁移,例如使用数据库,select*from table;

而已.中提琴.