mysql 主从切换

最终结果:主库可写,从库只读

首先保证主从数据库都开启二进制日志,方法是在my.cnf中的[mysqld]节中加入log-bin=log-bin-name
然后查看是否开启mysql> show variables;      log-bin   ON

为了在切换时不会漏掉数据库的更新,必须将主数据库停掉,设为只读:set global read_only=1; (注意和 FLUSH TABLES WITH READ LOCK;的区别,  UNLOCK TABLES;解锁)
show variables; 确认 read_only   ON

然后在主库mysql> flush logs; 刷新一下log-bin,在从库中查看mysql> show slave status \G 是否完全更新

查看主库的状态mysql> show master status \G 是否还有数据更新

如果没有就可以停掉从库mysql> stop slave;

查看新主库的状态mysql> show master status \G 记录file和pos

这时可以关掉新主库的只读属性mysql> set global read_only=0;

新从库改变连接的主库信息mysql> change master to 

        master_host='new_master_ip',

              master_user='mysqlsync',

              master_password='pass',

              master_port=3306,

              master_log_file='mysql-bin.xxxxxx',

              master_log_pos=xxxx;

这时可以启动新从库了:mysql> start slave;

查看新从库状态:mysql> show slave status\G

你可能感兴趣的:(mysql 主从切换)