因为公司新注册了一个阿里云账户,以前用的域名、rds、ecs等都需要迁移到新的阿里云账户。迁移主要有以下几个步骤:
1.域名转让给新阿里云账户(以后补充)
2.rds跨阿里云账号迁移(以后补充)
3.ecs跨阿里云账号迁移
这次重点介绍下本次ecs跨阿里云账号迁移及迁移之后遇到的问题
1)原阿里云账号(迁出账号)的阿里云ecs实例制作镜像并分享给新阿里云账号,过程见如下图文说明:
在共享镜像界面输入新阿里云账号id
2)新阿里云账号购买同规格(根据自己实际需求)的ecs实例,在选镜像时,选择共享镜像,选前面创建的共享镜像即可。
以下记录迁移之后遇到的一些问题及解决方法:
1.迁移之后,两个服务器都没有关,由于有定时任务,导致新rds会多出一些数据,我们这次多了一些没有主键的数据,需要删除重复数据。由于数据量不是很大,找了业务量不大的时间点进行操作的:
①创建表查看有哪些重复数据
create table more_old_table like old_table;
insert into more_old_table (select * from old_table group by id having count(*) >1);
②将原表复制一份
create table copy_old_table like old_table;
insert into copy_old_table (select distinct * from old_table);
③删除复制表的重复数据
delete from copy_old_table where id in (select id from (select * from copy_old_table group by id having count(*)>1 ) as c);
④插入一份删除的数据到新表
insert into copy_old_table (select distinct * from more_old_table)
⑤将原表删除,将新表名字改为原表名字
2.新的rds和原rds数据表结构和引擎完全一样,数据量也在一个量级,但是新表查询慢很多,可能原因如下
①表中有碎片,如果有碎片,可以使用optimize table 收缩一下空间 备注:optimize table 会锁表,建议业务低峰期间执行语句
OPTIMIZE TABLE `你的表名`或者直接在阿里云DMS界面操作
②在慢的表中重新搜集一下统计信息,analyze table期间将对全表加只读锁,建议在业务低峰期执行。
ANALYZE TABLE `你的表名`或者直接在阿里云DMS界面操作