同构迁移与云迁移
一、同构迁移
1. 基本概念
同构迁移:相同类型数据库之间的迁移(如 MySQL 5.7 → 8.0)。
| 方案 | 说明 | 复杂度 |
|---|---|---|
| 逻辑迁移 | mysqldump 导出再导入 | 中 |
| 主从切换 | 企业生产方案 | 高 |
2. 主从切换(企业生产方案)
整体思路
在确保数据一致性、业务连续性前提下,平滑地将读写流量从旧主库迁移到新主库。
步骤 1:环境还原
还原到刚安装好 MySQL 5.7 和 MySQL 8 的状态。
-- MySQL 8 上清空用户库
root@127.0.0.1 [(none)]> drop database db_itheima;步骤 2:配置主库和从库(GTID)
MySQL 5.7 主库配置(node1):
[mysqld]
server-id = 1
log-bin = /usr/local/mysql/data/binlog
binlog_format = ROW
binlog_checksum = NONE # 避免 8.0 校验错误
gtid_mode = ON
enforce_gtid_consistency = ON
log_slave_updates = 1注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
[mysqld]
server-id = 2
relay_log = /usr/local/mysql/data/relay
binlog_format = ROW
read_only = ON
gtid_mode = ON
enforce_gtid_consistency = ON
master_info_repository = TABLE # 主库连接信息存系统表
relay_log_info_repository = TABLE # 中继日志进度存系统表注意事项:
- 修改配置前先备份原文件,尤其是 SSH、Nginx、数据库和 Kubernetes 生产配置。
systemctl restart mysqld # 两台都重启命令作用:
- 使用 systemctl 对
mysqld服务执行restart操作:启动、停止、重启、查看状态或设置开机自启。
执行结果:
- 成功后会对
mysqld服务执行restart操作;restart会造成短暂中断,enable影响开机自启。
关键参数:
注意事项:
**关键参数:**
| 参数 | 说明 |
|---|---|
| 关键参数 | 说明 |
|---|---|
| `-h` | 以便于阅读的单位显示容量或数值。 |
| `-n` | 端口和地址用数字显示,不做名称解析。 |
| `-o` | 该选项会改变命令的查询范围或输出格式。 |
| `-d` | 该选项会改变命令的查询范围或输出格式。 |
| `-e` | 该选项会改变命令的查询范围或输出格式。 |
| `-u` | 只查看 UDP 连接/端口。 |
| `-s` | 该选项会改变命令的查询范围或输出格式。 |
| `-l` | 只显示正在监听的端口。 |
| `-a` | 显示全部对象,而非只显示默认范围。 |
| `-v` | 该选项会改变命令的查询范围或输出格式。 |
| `-p` | 显示占用端口的进程信息(通常需要 root 权限)。 |
| `-A` | 该选项会改变命令的查询范围或输出格式。 |
MASTER_HOST='192.168.50.213',
MASTER_USER='slave',
MASTER_PASSWORD='Aa123456.',
MASTER_AUTO_POSITION=1;
| 模式 | 说明 | 是否停机 |
|---|---|---|
| 离线迁移 | 停机后迁移 | 停机 |
| 在线迁移 | 不停机迁移 | 不停机 |
| 混合迁移 | 全量离线 + 增量在线 | 短暂停机 |
**相关特性:**
**案例:创建表并插入数据**
);职责:
职责:
关键词: 信创 = 信息技术应用创新(国产替代)、DM8 = 达梦数据库第 8 版、告警 = 异常通知、锁问题 = 事务锁定冲突(死锁、锁等待)