MySQL主从复制搭建

Posted i-tao

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MySQL主从复制搭建相关的知识,希望对你有一定的参考价值。

1.为什么开启主从复制?

  随着互联中业务访问量的发展,如果是单机部署数据库,就会导致I/O访问频率过高,为了让数据库高可用,采用数据库读写分离架构。

2.主从复制原理

  mysql数据库服务器主(master)节点复制到一个或多个从(slave)节点。MySQL 默认采用异步复制且串行话的方式

技术图片

复制主要为三步骤:

1.Master将Data changes记录到二进制日志Binary log。

2.Slave从Master的Binary log拷贝Data changes到自身的中继日志relay log。

3.Slave将Data changes应用到自身数据库中。 

3.搭建一主一从复制步骤

 3.1 准备工作

  安装windows版数据库(192.168.1.102),安装linux版数据库(192.168.1.107),最好两个版本都是一致的。关闭windows防火墙,linux防火墙,然后双向ping通。

 3.2 修改主机windows配置my.ini

  在mysqld下增加

  server-id=1 //唯一id标识

       read-only=0 //读写都可以

  启用二进制日志

  log-bin=自己本地mysql路径/mysqlbin

  log-err=自己本地mysql路径/mysqlerr

  log-bin=E:/Program Files/MySQL/MySQL Server 5.5/data/mysqlbin
  log-err=E:/Program Files/MySQL/MySQL Server 5.5/data/mysqlerr

  binlog-ignore-db=mysql //不需要复制的库

  binlog-do-db=db_master_to_slave //需要复制的库

  3.3 修改从机linux配置my.cnf

  vi /etc/my.cnf在mysqld下增加

  server-id=2 //唯一id标识

  3.4 主机建立账户并授权给从机

  GRANT REPLICATION SLAVE ON *.* TO 账户名@从机ip IDENTIFIED BY ‘password‘;

  GRANT REPLICATION SLAVE ON *.* TO [email protected] IDENTIFIED BY ‘root‘;

  FLUSH PRIVILEGES;

  主机查询:

  SHOW MASTER STATUS;

技术图片

 

  

File             Position  Binlog_Do_DB        Binlog_Ignore_DB  
---------------  --------  ------------------  ------------------
mysqlbin.000001       257  db_master_to_slave  mysql  

  从机配置

CHANGE MASTER TO 
MASTER_HOST=192.168.1.102,
MASTER_USER=root,
MASTER_PASSWORD=root,
MASTER_LOG_FILE=mysqlbin.000001,
MASTER_LOG_POS=257;

  从机start

  start slave;

技术图片

   show slave status\\G

 技术图片

目前搭建是完成了,来试试主机master插入一条数据,看看slave是否能复制。

  4 测试主从复制

  master 插入一条数据

技术图片

技术图片

  slave查询是否将id为3的master插入了test表;

  技术图片

 技术图片

  5 关闭主从复制

  stop slave;

 

以上是关于MySQL主从复制搭建的主要内容,如果未能解决你的问题,请参考以下文章

MySQL主从复制的简单搭建

MySQL主从复制的简单搭建

MySQL主从复制与读写分离

mysql 主从复制搭建

MySQL 主从搭建

mysql主从复制架构搭建以及主从复制模式