Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/59.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon RDS-将具有用户凭据的MySql数据库从EC2迁移到RDS_Mysql_Database_Amazon Web Services_Amazon Rds - Fatal编程技术网

Amazon RDS-将具有用户凭据的MySql数据库从EC2迁移到RDS

Amazon RDS-将具有用户凭据的MySql数据库从EC2迁移到RDS,mysql,database,amazon-web-services,amazon-rds,Mysql,Database,Amazon Web Services,Amazon Rds,我在EC2实例上安装了LAMP,该实例承载一个web应用程序。当一家新公司在web应用上注册时,它会为该公司创建一个新的mysql数据库,即一个新的mysql用户,并将该用户分配到该数据库,以便每个公司都有自己的独立数据库 我们现在计划迁移到RDS,我需要将所有具有相应mysql用户帐户的公司数据库从EC2迁移到RDS。我怎样才能做到这一点?这可能吗?我知道我可以通过mysqldump迁移数据库,但是如何为数据库传输mysql用户?我发现这种将用户从ec2或其他实例迁移到RDS的方法可能是移动用

我在EC2实例上安装了LAMP,该实例承载一个web应用程序。当一家新公司在web应用上注册时,它会为该公司创建一个新的mysql数据库,即一个新的mysql用户,并将该用户分配到该数据库,以便每个公司都有自己的独立数据库


我们现在计划迁移到RDS,我需要将所有具有相应mysql用户帐户的公司数据库从EC2迁移到RDS。我怎样才能做到这一点?这可能吗?我知道我可以通过mysqldump迁移数据库,但是如何为数据库传输mysql用户?

我发现这种将用户从ec2或其他实例迁移到RDS的方法可能是移动用户帐户最简单的方法。然后使用pt show grants从用户处获得授权。根据需要更新where子句,以排除不希望迁移的任何内容,例如AWS实例中可能已经存在的根用户

SELECT CONCAT('CREATE USER ', '`',u.User,'`', '@','`', u.Host,'`', ' IDENTIFIED BY PASSWORD ','''', u.Password,'''',';' ) FROM mysql.user u WHERE u.is_role = 'N' and u.plugin <> 'unix_socket' and user <> 'root';

我发现这种将用户从ec2或其他实例迁移到RDS的方法可能是最容易移动用户帐户的方法。然后使用pt show grants从用户处获得授权。根据需要更新where子句,以排除不希望迁移的任何内容,例如AWS实例中可能已经存在的根用户

SELECT CONCAT('CREATE USER ', '`',u.User,'`', '@','`', u.Host,'`', ' IDENTIFIED BY PASSWORD ','''', u.Password,'''',';' ) FROM mysql.user u WHERE u.is_role = 'N' and u.plugin <> 'unix_socket' and user <> 'root';

您可以在RDS上创建新的MySQL用户,就像在任何其他MySQL服务器上一样。试着看看这个问题的答案:你发布的链接似乎很有用。我将在这里尝试并更新答案。这里是关于AWS将外部Mysql实例迁移到RDS的最佳实践的文档。您可以在RDS上创建新的MySQL用户,就像在任何其他MySQL服务器上一样。试着看看这个问题的答案:你发布的链接似乎很有用。我将在这里尝试并更新答案。这里是关于AWS将外部Mysql实例迁移到RDS的最佳实践的文档。用于导出用户的SQL很好,但它不会导出每个用户的授权,只创建它。因此,每个用户的授权必须通过“``显示授权”导出user@host“``导出用户的SQL很好,但它不导出每个用户的授权,只创建它。因此,每个用户的授权必须通过“``显示授权”导出user@host ```