我已经创建了一个RDS的实例,名为realcardiodb(引擎是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.
我应该使用mysqldump如何解决这个错误?(我的系统上肯定安装了mysql)
有没有更好的工具我应该使用?
感谢任何帮助,特别是如果您有将mysql导入aws rds的经验。
谢谢!DK
更新7/31/2012所以我得到了错误解决。mysqldump在bin目录C:\xampp\mysql\bin中
mysqldump acme | mysql --host=hostname --user=username --password acme
有人能帮我分解一下吗?
1)第一个“acme”(在mysqldump命令之后)是我本地数据库的名称还是我保存在本地的导出sql文件?
2)主机名是IP地址、公共DNS、RDSendpoint还是两者都不是?
3)我假设用户名和密码是RDS凭据,第二个顶点是我在RDS中创建的数据库的名称。
谢谢!
这就是我为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数据库实例并配置其安全设置后,登录到此服务器(从ssh会话到EC2服务器),然后使用基本SQL命令在实例内创建一个空数据库。
mysql -h host.address.for.rds.server -P 3306 -u rdsusername -p
(enter your password)
create database rdsdatabase;
然后退出RDS服务器中的MySQL环境。
\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工作台。它更容易
它提供了一个简单的GUI。
MySQL工作台或SQLYog。
这些是我做的步骤。
1)安装MySQL工作台。
2)在AWS控制台中,您的RDS实例必须有一个安全组。向该组添加一个入站规则,以允许来自您机器的连接。很简单。添加您的IP地址。
3)打开MySQL工作台,添加新连接。
4)给连接一个您喜欢的名称。
5)选择连接方式-标准TCP/IP
6)在主机名字段中输入您的RDSendpoint。
7)端口:3306
8)用户名:主用户名(您在创建RDS实例期间创建的用户名)
9)密码:主密码
10)单击测试连接以检查您的连接。
11)如果连接成功,点击确定。
12)打开连接。
13)您将在那里看到您的数据库“real心脏病数据库”。
14)现在您可以将mysqldump文件导出到此数据库。转到-
15)您可以通过简单地打开一个空白的SQL文件来检查数据是否已经迁移
就这样。维奥拉。
如果你有一个backup. sql在你的PC,不需要转移到EC2。只需在你的终端在你的PC下线。
$ 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)
导入备份文件到RDSmysql,而你在远程服务器外壳
mysql -h your-mysql-instance.region.rds.amazonaws.com -u db_username -p db_name < backup/path/backupfile.sql
注:
我已经尝试了所有上述标准将我现有的备份导入到新的RDS数据库,包括通过EC2AWS留档。这是一个10GB的备份。所以我也尝试了逐个表。它显示过程完成,但对于大表缺少一些数据。所以我不得不写一个DB来DB数据迁移脚本。