多层备份--从库slave变主库master

mysql多层主从配置

服务器A、B、C,A为主库,B为从库,数据从A–>B,现在将B的数据同步到C,即A–>B–>C。由于数据量较大,表较多,之前dump了好几十个Gsource需要2,3天时间,所以采取将数据库的文件夹全部copy。

万恶的参数:log-slave-updates(先记住)

  1. 记录B服务器的mysql-bin和postition

    show master status\G

    通过show master status ,我的mysql-bin是204,postition是294939169

  2. slave stop 后关闭B服务器

    /home/mysql/mysql5500/bin/mysqladmin -uroot -p shutdown 关闭

    ps -ef|grep mysqld 查看mysql状态

  3. 将B服务器mysql5500拷贝至C服务器的/home/mysql目录下

    scp命令-r是文件夹的全部,-P是指定端口,这里我大概花了五个小时

    scp -r -P 51422 /home/mysql/mysql5500 zmzmysql@C:/home/mysql

  4. 启动B服务器后slave start

    /home/mysql/mysql5500/bin/mysqld_safe --defaults-file=/home/mysql/mysql5500/etc/my.cnf &

  5. 修改C服务器的sever_id,使之与A,B均不同,mysql/etc/my.cnf下

    server_id=173

  6. 配置C服务器mysql-bin和postition

    这里的用户是新建的,需要给权限,搜索主仆配置可知

    `CHANGE MASTER TO`
    `MASTER_HOST='B',`
    `MASTER_USER='mysql',`
    `MASTER_PASSWORD='mysql',`
    `MASTER_PORT=5500,`
    `MASTER_LOG_FILE='mysql-bin.000204',`
    `MASTER_LOG_POS=294939169,`
    `MASTER_CONNECT_RETRY=10;`
    
  7. 启动C服务器,slave start

    /home/mysql/mysql5500/bin/mysqld_safe --defaults-file=/home/mysql/mysql5500/etc/my.cnf &

    show master status\G

    show slave status\G

步骤错了,应该先启动mysql再去修改MASTER的配置,再slave start。

但是这么配置完slave start后发现修改A或B数据库的数据,C服务器都没变化,发现是参数log-slave-updates未设置,应在my.cnf中写入:

`log-slave-updates=1`

第一次使用markdown,感觉我的blog没什么特效,未完待续。。。

设置参数:

binlog-do-db=db_name

binlog-do-table=dbname.tblname

replicate-do-db=db_name

replicate-do-table=dbname.tblname

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值