mysql 数据库迁移注意事项

mysql 数据库迁移注意事项

1 规划与准备

  • 明确迁移目标: 确定迁移的原因、目标数据库的类型、版本、配置等。
  • 数据盘点: 详细了解源数据库的结构、数据量、索引、触发器等,评估数据迁移的复杂度。
  • 制定迁移计划: 制定详细的迁移计划,包括迁移步骤、时间安排、回滚方案等。
  • 环境准备: 准备目标数据库环境,包括硬件配置、软件安装、网络连接等。

2 备份数据

  在开始迁移之前,务必对原始数据库进行完整备份。通过使用mysqldump或其他备份工具来实现。

  使用mysql官方自带的mysqldump备份mysql :

mysqldump -uroot -p dbName > dbName202409.sql

3 数据迁移方式

  • 直接导出导入: 适用于数据量较小、结构简单的数据库(生产库注意锁的问题)。
  • 逻辑复制: 通过MySQL的binlog进行逻辑复制,适用于实时性要求较高的场景。
  • 第三方工具: 使用专业的数据库迁移工具,如阿里云DTS、MySQL Workbench等,可以简化迁移过程。

 

4  数据库版本一致

检查版本兼容性 确保目标MySQL服务器的版本与源服务器兼容,如果版本差异较大,会存在兼容问题,所以最好保持版本一致

SELECT @@version

5  数据库设置的默认字符一致

字符集和排序规则 验证源数据库和目标数据库的字符集(character set)和排序规则(collation)设置是否一致,以避免数据显示异常。

[mysqld]
character-set-server=utf8mb4
SHOW VARIABLES LIKE '%char%';

6 确保数据库设置的时区一致

  在my.cnf配置文件配置时间参数:

[mysqld]
DEFAULT-TIME-zone='+08:00'

  配置后执行查询是否配置正常 

SHOW VARIABLES LIKE 'time_zone';

 查询配置结果正确如下图: 

7 迁移后数据架构一致(非全量导入要注意)

  如果只是迁移部分数据,或指定表需要对比架构,整库备份导入自带架构。

  检查项:

  • 表结构对比: 仔细对比源数据库和目标数据库的表结构,确保一致性。
  • 数据类型转换: 如果数据类型不兼容,需要进行数据类型转换。
  • 索引优化: 重新创建索引,以提高查询性能。

   如果用第三方迁移工具迁移后,要确保迁移后数据架构一致(曾经用Navicat工具迁移,发现不会把原数据库的默认值迁移 )

8 性能参数配置

  mysql需要根据物理机的情况进行内存配置及优化,优化后进行性能测试 ,确保查询性能没有显著下降,以下是MySQL性能配置参数详解:

MySQL性能配置参数详解

MySQL的性能配置参数众多,且每个参数对数据库的性能影响各不相同。合理配置这些参数,可以显著提升MySQL的性能,使其更好地适应不同的业务场景。

核心配置参数
  • max_connections: 最大连接数,根据服务器负载和并发连接数来设置。
  • wait_timeout: 连接超时时间,设置过长可能导致大量空闲连接占用资源。
  • interactive_timeout: 交互式连接超时时间,一般比wait_timeout设置短一些。
  • sort_buffer_size: 排序缓冲区大小,影响排序操作的性能。
  • join_buffer_size: 连接缓冲区大小,影响连接操作的性能。
  • table_cache: 打开表的数量,过大可能消耗过多内存。
  • query_cache_size: 查询缓存大小,开启查询缓存可以提高重复查询的性能,但可能导致内存浪费。
  • innodb_buffer_pool_size: InnoDB缓冲池大小,用于缓存数据和索引,是影响InnoDB性能最重要的参数之一。
  • innodb_flush_log_at_trx_commit: InnoDB事务日志刷盘频率,影响数据持久性和性能。
其他重要参数
  • tmp_table_size: 临时表大小,影响复杂查询的性能。
  • max_heap_table_size: 内存表大小,影响内存表的性能。
  • key_buffer_size: MyISAM索引缓冲区大小,影响MyISAM表的索引性能。
  • thread_cache_size: 线程缓存大小,减少创建新线程的开销。

总结

        MySQL数据库迁移是一个系统工程,需要综合考虑各种因素。通过充分的准备、详细的规划和严格的执行,可以有效地降低迁移风险,确保数据的安全性和一致性。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

qyhua

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值