公司的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  
comments powered by Disqus