mysql在线迁移详细步骤 主从复制

  1. 在服务器A上创建一个复制账号;
  2. 服务器A和服务器B上分别设置不同的server_id
  3. 服务器A执行一次完整的逻辑备份;
  4. 从服务器A拷贝备份到服务器B
  5. 服务器B上执行一次全量恢复;
  6. 服务器B上执行change master设置主从复制;
  7. 服务器B上执行start slave启动复制;
  8. 服务器A上设为read only
  9. 服务器B设为主库(服务器B把服务器A转过来的binlog消化完);

step 1 3306库上创建一个复制用户。

grant replication slave,replication client on *.* to repl@'%' identified by 'repl4Slave' ;

step 2 修改3306库和3307库上的server_id,确保不一样。

3306


3307


发现一样,修改server_id

3307上执行:

set global server_id= 102;


修改3307库的配置文件,把server_id改成102

vi /u01/my3307/my.cnf 


step 3下面在3306库上做一个逻辑全备

mysqldump --single-transaction --master-data=2 -uroot test > /tmp/test.sql

--single-transaction数据量大的时候不锁表

--master-data=2 记录备份的时候日志文件和日志位置,如下:


如果dump出来的文件/tmp/test.sql文件过大,可以直接grep搜索

grep -i " CHANGE MASTER TO" /tmp/test.sql


step 4 dump出来的3306dump文件拷贝到3307

step 5 3307库上新建跟3306dump出来的文件一样的数据库

我在3306dump的是test库的数据,所以在3307上新建一个一样的数据库

create database test default character set utf8 ;


step 6 直接在3307上恢复

查看当前选中的是哪个数据库

select database();

选中需要恢复到的目标库

use test

应用dump出来的文件进行恢复

mysql> source /tmp/test.sql



再次查看test数据库上是否有t1表以及t1表中数据是否已经有了。


step 7 设置3307复制库是源库的从数据库,在3307上执行下面的命令

change master to

master_host='127.0.0.1',

master_port=3306,

master_user='repl',

master_password='repl4Slave',

master_log_file='binlog.000018',

master_log_pos=718;

这条命令的意思是:设置33063307的主库,通过3306源库的repl用户进行复制,开始复制的位置是binlog日志binlog.000018718位置处(也就是全备后的日志位置)。

启动slave3307上复制

start slave ;


查看slave的状态:

show slave status\G;


step 8 确认全备后又插入的数据是否已经复制过来了

3306test库上的t1表在插入一条数据

 insert into t1 values(2);


3307上查询数据是否过来


验证数据已经过来了!

step 9 3306源库上把数据库设置成readonly状态

show variables like '%read_only%' ;

flush tables with read lock;

set global read_only=on ;

show global variables like "%read_only%";


这样设置以后主库3306下所有的用户(包括超级用户root),都无法修改该库下的任何数据!

step 10 在确认从库3307完全应用完主库的所有日志以后,就可以切换主从。即把应用切换到3307,3306作为备库。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值