公司的Mysql是一主一备,主从关系。
主库要升级到一台新的机器上,备库不变,该怎么弄呢?
步骤如下:
- 在老的机器上确认没有更新的操作,干脆用iptable封掉3306
- 用mysqldump dump下一份完整的数据
- 在新的主库上把dump下的数据导入
这时候新老主库上的数据应该是一致了。
- 彻底停掉老的主库
- 确认新主库bin-log的文件名和Position:
mysql> show master status\G;
File: mn-bin.000005
Position: 11365777
Binlog_Do_DB: database_name
Binlog_Ignore_DB:
1 row in set (0.00 sec)
记下mn-bin.000005和11365777。
- 彻底开放新主库,供程序读写
- 在从库上重新建立备份
CHANGE MASTER TO
master_host=’master_hostname’,
master_user=’replicate_user’,
master_password=’password’,
master_log_file=’log-bin.000005‘,
master_log_pos= 11365777
- 执行后看看从库状态
mysql> show slave status\G;
- 看到以下提示就ok了
Slave_IO_Running: Yes
Slave_SQL_Running: Yes