【1.2】mysql迁移实践及注意事项
【1】需求
数据迁移,2个库迁移到新的实例上去;
思路:
按道理直接 mysqldump 导入导出就好了啊;
但实际上还有许多要考虑的事情;
【2】迁移步骤
【2.1】导出
(1)字符集与引擎问题
select table_schema,table_name,TABLE_COLLATION,ENGINE from information_schema.tables where table_schema='webshop' ;
(2)mysqldump 参数问题
mysqldump -uroot -p --set-gtid-purged=OFF --single-transaction --flush-privileges \
--master-data=2 --flush-logs --triggers --routines --events --hex-blob --lock-tables \
--max_allowed_packet=67108864 --B webshop > webshop_`date +%Y%m%d`.sql
1)GTID问题:--set-gtid-purged=OFF 2)binlog问题:--master-data=2
3)MYISAM引擎问题:--lock-tables 4)字符集问题:--default-character-set=utf8 ,这个要根据 (1) 中的情况对应导入导出
5)是否有drop database ifexists:-B 这个要注意看导出的文件,一般没有,但也怕有些版本会出现这个,把现有数据库删掉那就尴尬了;
【2.2】还原、导入
mysql --default-character-set=latin1 quanqingsanguo < test_latin_20210713.sql
mysql --default-character-set=utf8 quanqingsanguo < test_utf8_20210713.sql
还原也要注意字符集,根据导出的sql 文件字符集,导入时也要指定字符集,这样才能最大限度的保障数据一致性和字符集一致性
【3】迁移后核验
(3.1)迁移后表行数对比
注意修改条件 table_name in ...
echo 'create database test if not exists;'>>checktable.sql echo 'drop table if exists test.table_info;'>>checktable.sql echo 'create table test.table_info(table_schmea varchar(100),table_name varchar(100),rows int);'>>checktable.sql mysql -e "select concat('insert into test.table_info select ''',table_schema,''',''',table_name,''',count(*) as rows from ',table_schema,'.',table_name,';') from information_schema.tables \ where table_name in ('player','player_bag','player_attribute','player_hero','player_login_info','pay_order') ; " -N >> checktable.sql mysql < checktable.sql
(3.2)一致性对比
使用 pt-checksum
详细文档:https://www.cnblogs.com/gered/p/12882447.html
分类:
mysql dba管理
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南