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主从复制搭建的主要内容,如果未能解决你的问题,请参考以下文章