从EC2中的MySQL 5.7到AWS RDS的mysqldump
我正在尝试使用以下步骤将数据库从安装在EC2实例中的MySQL 5.7迁移到AWS RDS MySQL 5.7:从EC2中的MySQL 5.7到AWS RDS的mysqldump,mysql,amazon-web-services,amazon-ec2,rds,Mysql,Amazon Web Services,Amazon Ec2,Rds,我正在尝试使用以下步骤将数据库从安装在EC2实例中的MySQL 5.7迁移到AWS RDS MySQL 5.7: 关于如何使用两个不同的用户和密码从命令行运行mysqldump,您有什么想法吗?您的管道mysql客户端无法访问stdin,因为它的stdin实际上是mysqldump命令的stdout流。由于不希望在命令行中提供密码,请尝试以下方法 mysql_config_editor set --login-path=local --host=localhost --user=userna
关于如何使用两个不同的用户和密码从命令行运行mysqldump,您有什么想法吗?您的管道mysql客户端无法访问stdin,因为它的stdin实际上是
mysqldump
命令的stdout
流。由于不希望在命令行中提供密码,请尝试以下方法
mysql_config_editor set --login-path=local --host=localhost --user=username --password
mysql_config_editor set --login-path=remote --host=rds_host --user=rds_user --password
这将在配置文件中创建两个部分,分别命名为local
和remote
(您可以更改名称)。现在:
应该有用
mysql_config_editor set --login-path=local --host=localhost --user=username --password
这将连接到您登录的服务器上运行的本地mysql引擎。在您的情况下,您必须已登录ec2实例
现在要连接到RDS实例(使用不同的用户/密码),可以使用以下命令。您必须在RDS sec组上打开端口3306,ec2 sec组作为源
mysql_config_editor set --login-path=myrdsinstance --host=myrdsinstance.123456789012.us-east-1.rds.amazonaws.com --user=username --password
如果要基于用户id为同一实例创建多个登录路径,则只需相应地更改登录路径id
例如:
mysql_config_editor set --login-path=myrdsinstance-user1
--host=myrdsinstance.123456789012.us-east-1.rds.amazonaws.com --user=user1 --password
mysql_config_editor set --login-path=myrdsinstance-user2
--host=myrdsinstance.123456789012.us-east-1.rds.amazonaws.com --user=user2 --password
我相信(所以不是答案),如果你只使用
-p
而没有密码,它会问你两次。第一个用于本地数据库,第二个用于远程数据库。还有一个配置文件,您可以使用它指定特定于主机的用户/密码(同样,我认为是这样的,所以不是答案)。谢谢,但这不起作用。另一个“解决方案”是忽略警告。警告!=错误。命令行上的密码唯一不安全的地方是密码在命令行上,因此在shell历史记录中,就像每个命令行上的所有内容一样。另一种选择不是特别安全,因为密码仍然存储在本地。你是对的。我意识到mysqldump命令实际上完成了ok,并且RDS数据库甚至在收到该警告后也被创建了。
mysql_config_editor set --login-path=local --host=localhost --user=username --password
mysql_config_editor set --login-path=myrdsinstance --host=myrdsinstance.123456789012.us-east-1.rds.amazonaws.com --user=username --password
mysql_config_editor set --login-path=myrdsinstance-user1
--host=myrdsinstance.123456789012.us-east-1.rds.amazonaws.com --user=user1 --password
mysql_config_editor set --login-path=myrdsinstance-user2
--host=myrdsinstance.123456789012.us-east-1.rds.amazonaws.com --user=user2 --password