目前我有一个EC2实例和一个RDS(mysql)实例。我从我的本地工作站导出了我的数据库并将其上传到我的EC2实例并将其放在我的ec2-user主目录中。
我登录到EC2实例并在与我的projectname.sql文件相同的目录中运行此命令,在这种情况下,该文件将替换为" backupfile.sql"在命令中。运行此命令后,我的站点能够成功连接到数据库。我知道这一点,因为我网站上的所有错误都消失了。现在的问题是我的表似乎没有上传。
mysql -h host.address.for.rds.server -u rdsusername -p rdsdatabase < backupfile.sql
运行此命令:
mysql -h host.address.for.rds.server -P 3306 -u rdsusername -p
使用我正确的凭据登录rds服务器。然后我跑:
use databasename
show tables
但没有显示任何表格。 我的最终目标是通过上传sql文件将我的localhost数据库导入AWS RDS。如果有更简单的方法请告诉我!这是我第一次设置AWS,这些路障正在扼杀我。
答案 0 :(得分:0)
我使用第三方产品SQLyog将我的数据库复制到AWS。它允许您同时连接到多个数据库并在它们之间进行复制。要建立与AWS实例的连接,您需要在本地计算机上使用.pem文件,并且必须在EC2上的安全组中启用MySQL / Aurora。还有一些信息here。设置完成后,复制数据库或单个表非常容易。
答案 1 :(得分:0)
sudo mysqldump -u <local_user> \
--databases world \
--single-transaction \
--compress \
--order-by-primary \
-p <local_password> | mysql -u <RDS_user_name> \
--port=3306 \
--host=hostname \
-p <RDS_password>