具有相同规格的 Amazon RDS 之间的单个 MySQL 数据库迁移
Single MySQL Database Migration Between Amazon RDS With Same Specifications
大家好,我的数据库问题如下:
在我的 RDS A 中,我有几个数据库,但我只对迁移一个数据库感兴趣,其中最大的一个(大约 95GB)。
该数据库有大约 700 个表、3000 个过程和一些触发器和函数(少于 20 个)。使用 DBForge Studio 2020 MySQL 在 RDS B 中备份大约需要 1.5 小时,恢复大约需要 10 小时以上(我用 mysqldump 得到了类似的时间结果)。
两个 RDS 都有 MySQL 引擎 8.0.23、8 CPU 和 32GB RAM (db.m5.2xlarge),唯一的区别是存储,它是迁移的主要原因,第一个有900GB,第二个有300GB,那是因为我删除了一些无用的数据库,我有很多多余的space,我无法降级RDS存储,我想省钱,所以,唯一的办法就是移民。
现在我的问题是:在 2 MySQL RDS 之间恢复数据库是否有比 2 中描述的更快更有效的方法?
我愿意接受您的建议,很乐意测试您的解决方案并分享结果。提前谢谢你。
根据 Wilson Hauck 的建议,我正在分享我的 RDS B 的其他信息:
来自查询的 RDS B 表
COUNT(*) FROM information_schema.tables
在这种情况下,RDS B 没有额外的数据库,只有 Amazon RDS 安装程序创建的基本系统数据库,这是因为我想首先恢复最重的数据库。
- RDS B 全局变量(在下面的 pastebin link 上):
为您的 RDS B 参数组考虑的建议
innodb_io_capacity=500 # from 200 to use more of available IOPS based on leased 300GB
read_rnd_buffer_size=128K # from 512K to conserve RAM per connection and handler_read_rnd_next count
innodb_lru_scan_depth=100 # from 1024 to conserve 90% of RAM cycles used for function
innodb_flush_neighbors=2 # from 0 to push all rows for EXTENT in 1 sweep
innodb_buffer_pool_size=22G # from ~ 48G for ~ 70% of available 32G on B server
innodb_change_buffer_max_size=50 # from 25 percent for higher rows added per second
innodb_concurrency_tickets=20000 # for reduce reque frequency
有更多提高性能的机会,我们有可免费下载的实用程序脚本来协助性能调整,请参阅配置文件。
大家好,我的数据库问题如下:
在我的 RDS A 中,我有几个数据库,但我只对迁移一个数据库感兴趣,其中最大的一个(大约 95GB)。
该数据库有大约 700 个表、3000 个过程和一些触发器和函数(少于 20 个)。使用 DBForge Studio 2020 MySQL 在 RDS B 中备份大约需要 1.5 小时,恢复大约需要 10 小时以上(我用 mysqldump 得到了类似的时间结果)。
两个 RDS 都有 MySQL 引擎 8.0.23、8 CPU 和 32GB RAM (db.m5.2xlarge),唯一的区别是存储,它是迁移的主要原因,第一个有900GB,第二个有300GB,那是因为我删除了一些无用的数据库,我有很多多余的space,我无法降级RDS存储,我想省钱,所以,唯一的办法就是移民。
现在我的问题是:在 2 MySQL RDS 之间恢复数据库是否有比 2 中描述的更快更有效的方法?
我愿意接受您的建议,很乐意测试您的解决方案并分享结果。提前谢谢你。
根据 Wilson Hauck 的建议,我正在分享我的 RDS B 的其他信息:
来自查询的 RDS B 表
COUNT(*) FROM information_schema.tables
在这种情况下,RDS B 没有额外的数据库,只有 Amazon RDS 安装程序创建的基本系统数据库,这是因为我想首先恢复最重的数据库。
- RDS B 全局变量(在下面的 pastebin link 上):
为您的 RDS B 参数组考虑的建议
innodb_io_capacity=500 # from 200 to use more of available IOPS based on leased 300GB
read_rnd_buffer_size=128K # from 512K to conserve RAM per connection and handler_read_rnd_next count
innodb_lru_scan_depth=100 # from 1024 to conserve 90% of RAM cycles used for function
innodb_flush_neighbors=2 # from 0 to push all rows for EXTENT in 1 sweep
innodb_buffer_pool_size=22G # from ~ 48G for ~ 70% of available 32G on B server
innodb_change_buffer_max_size=50 # from 25 percent for higher rows added per second
innodb_concurrency_tickets=20000 # for reduce reque frequency
有更多提高性能的机会,我们有可免费下载的实用程序脚本来协助性能调整,请参阅配置文件。