根据AWS的文档,Aurora MySQL 1.*已经到达了生命周期终止状态。建议所有用户升级到Aurora MySQL 2.*版本,以确保继续获得AWS提供的支持和安全补丁。
升级过程包括创建新的Aurora MySQL 2.*实例,将数据从旧实例迁移到新实例,以及更新应用程序代码以使用新实例。
以下是AWS文档中描述的一些代码示例:
创建Aurora MySQL 2.*实例:
$ aws rds create-db-instance \
--db-instance-identifier my-db-instance \
--db-instance-class db.r5.large \
--engine aurora-mysql \
--engine-version 2.07.1 \
--availability-zone us-west-2a \
--preferred-maintenance-window “Tue:06:00-Tue:07:00” \
--db-subnet-group-name my-db-subnet-group \
--vpc-security-group-ids sg-123456 \
--no-publicly-accessible \
--iam-database-authentication-enabled \
--auto-minor-version-upgrade \
--tags "Key=Environment,Value=Test"
将数据从旧实例迁移到新实例:
$ aws rds create-database-clone \
--db-instance-identifier my-cloned-db-instance \
--source-db-instance-identifier my-db-instance \
--target-db-instance-identifier my-target-db-instance \
--restore-time 2017-07-16T23:45:00Z \
--use-latest-restorable-time \
--db-instance-class db.r5.large \
--availability-zone us-west-2a \
--no-publicly-accessible \
--db-subnet-group-name my-db-subnet-group \
--vpc-security-group-ids sg-123456 \
--iam-database-authentication-enabled \
--tags "Key=Environment,Value=Test"
更新应用程序代码以使用新实例:
# connect to the new Aurora MySQL 2.* instance
db_new = MySQLdb.connect(
host=‘my-db-instance.012345678901.us-west-2.rds.amazonaws.com’,
port=3306,
user=‘admin’,
password=‘mydbpassword’,
db=‘mydatabase’)
# disconnect from the old Aurora MySQL 1.* instance
db_old.close()
# update the application code to use the new connection object
db = db_new
请注意,由于每个应用程序都不同,因此可能需要针对您的环境进行更改。建议阅读AWS文档,以确保正确执行升级过程。