mysql 主从复制 重头复制_Mysql主从复制,实现读写分离

今天整理下配置主从复制的过程。原理很简单,主库负责插入修改删除,产生log文件,丛库用授权的账号去读mysql操作记录,然后同步。在这里也很感谢我工作中的头,放手让我去做,生产环境配置的时候一同加班给我压阵!

首先服务器上的mysql已经配置完成。我选用的是 5.6.29 版本要统一。

停掉当前的业务,打包数据库myisam的直接打包数据目录放到FTP目录。在丛库的服务器上FTP到主库,get到从服务器上,保持数据库的一致性。

创建丛库同步的mysql账号,添加服务器权限( File, Replication Slave, Replication Client ),可以用Navicat去操作。多个丛库,就添加多个允许登陆的ip不一样而已。

CREATE USER 'yusure_slave'@'192.168.0.102' IDENTIFIED BY '123456';

GRANT FILE, REPLICATION SLAVE, REPLICATION CLIENT ON *.* TO 'yusure_slave'@'192.168.0.102';

master主服务器上设置:

1、编辑my.ini文件

server-id = 1 // 添加server-id必须为1到232–1之间的一个正整数

log-bin = mysql-bin // 会在mysql的data目录生成

binlog-do-db = gaoyipin // 同步 gaoyipin 库 其他库都不同步

binlog-ignore-db = mysql //不同步

2、重启mysql数据库

3、记录当前的二进制日志名和偏移量

show master status; //得到主服务器上当前的二进制日志名和偏移量

slave从服务器上设置(多个丛库server-id依次+1):

1、编辑my.cnf文件

server-id = 2 // slave的ID号,此处一定要大于master端。

replicate-do-db = gaoyipin

2、重启mysql数据库

stop slave;

change master to

master_host = '192.168.0.102', // 主库地址

master_port = 3306, // 主库端口

master_user = 'gaoyipin', // master端创建的用于主从同步的账户和密码

master_password = '**********', // 密码

master_log_file='mysql-bin.000019', //master端记录的file值

master_log_pos=1238; // master端记录的position值

start slave;

show slave status;

看这两个参数 Slave_IO_Running    Yes   Slave_SQL_Running   Yes  那就证明主从正常了

show processlist;   // 显示从服务器上的进程

注意:主从数据库初始信息要相同,包括表结构、表数据、编码等,如果不相同,则将master主服务器中的信息先备份,然后再导入到从服务器。

**********************  跳过错误  *****************************

停止从库

stop slave;

查看从库状态

show slave status;

SET GLOBAL SQL_SLAVE_SKIP_COUNTER = 1        #跳过一个事务

开启从库

start slave;

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值