一、前言

Mysql Replication作为读写分离的廉价解决方案,支持一主多备的方式进行数据存储,采用二进制日志传送,目前存在着广泛应用,网上相关概念也比较多,不再重复介绍。引用一张官方提供的Replication应用场景图片(http://dev.mysql.com/doc/refman/5.1/en/replication-solutions.html)。本文主要记录了基于Linux环境下的Mysql Replication配置步骤。

二、环境准备

  IP_PORT OS Mysql
Master 10.129.221.14:3306 CentOS 6.5 5.1.73
Slave 10.129.221.16:3306 CentOS 6.5 5.1.73
Slave ...    

三、在Master和Slave上分别开启root用户远程访问,并设置root用户密码,默认为空

mysql> use mysql;
mysql> update user set host = '%' where host ='127.0.0.1' and user = 'root';
mysql> update user set password = PASSWORD('glf_123') where user = 'root';
mysql> flush privileges;

四、在Master数据库上创建一个repl用户并进行授权,用于slave机器访问master数据库

mysql> create user 'repl'@'%' identified by 'glf_123';
mysql> grant replication slave on *.* to 'repl'@'%' identified by 'glf_123';
mysql> flush privileges;

修改后的user表数据如下:

五、在Master服务器上创建一个TestDB数据库,用于Replication

六、修改Master数据库的数据库配置(/etc/my.cnf),开启数据库二进制日志记录

[mysqld]
server-id=1 # 唯一ID
log-bin=mysql-bin # 指定日志文件
binlog-do-db=TestDB # 需要同步的数据库
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0 [mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

七、重启Master数据库

[root@VM-CentOS /]# service mysqld restar

八、检查Master库的Master状态

mysql> SHOW MASTER STATUS;

显示结果如下:

九、修改Slave数据库配置(/etc/my.cnf)

[mysqld]
server-id=2 # 唯一ID
read_only=1 # 设置Slave库只读
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql # Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0 [mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

十、重启Slave数据库

[root@VM-CentOS /]# service mysqld restart

十一、设置slave节点replication指向master,在Slave库执行change master command

change master to
master_host='10.129.221.14',
master_user='repl',
master_password='glf_123',
master_port=3306,
master_log_file='mysql-bin.000001',
master_log_pos=0,
master_connect_retry=10;

master_log_file表示Master数据库中的log文件名,通过SHOW MASTER STATUS查询;

master_log_pos 表示需要同步的二进制偏移量 ,0表示全部重新同步;

第八步中SHOW MASTER STATUS查询显示的是当前Position;

十二、在Salve服务器启用slave模式

mysql> start slave;

十三、查看replication的执行情况、以及相关处理Process

mysql> SHOW SLAVE STATUS \G;
mysql> show processlist \G;

十四、至此MySQL Replication 相关的配置完成,在Master库的任何修改都会通过事务日志提交到Slave。

MySql Replication配置的更多相关文章

  1. MySQL Replication, 主从和双主配置

    MySQL Replication, 主从和双主配置 MySQL的Replication是一种多个MySQL的数据库做主从同步的方案,特点是异步,广泛用在各种对MySQL有更高性能,更高可靠性要求的场 ...

  2. MySQL Replication(Master与Slave基本原理及配置)

    MySQL Replication(Master与Slave基本原理及配置) 1.  主从mysql server的工作原理:(如图及其过程分析) 过程:   Mysql的复制(replication ...

  3. mysql主从配置

    引言: 双11,阿里云服务器打折,于是我忍不住又买了一台服务器,于是咱也是有两台服务器的爷们了,既然有了两台服务器,那么肯定要好好利用一下吧,那么就来玩玩mysql的主从配置吧. 准备 两台数据库服务 ...

  4. Mysql主从配置,实现读写分离

    大型网站为了软解大量的并发访问,除了在网站实现分布式负载均衡,远远不够.到了数据业务层.数据访问层,如果还是传统的数据结构,或者只是单单靠一台服务器扛,如此多的数据库连接操作,数据库必然会崩溃,数据丢 ...

  5. MySQL Replication需要注意的问题

    MySQL Replication 大家都非常熟悉了,我也不会写怎么搭建以及复制的原理,网上相关文章非常多,大家可以自己去搜寻.我在这里就是想总结一下mysql主从复制需要注意的地方.有人说主从复制很 ...

  6. MySQL MHA配置常见问题

    MHA在MySQL数据库中被广泛使用,它小巧易用,功能强大,实现了基于MySQL replication架构的自手动主从故障转移,从库重定向到主库并自动同步.尽管如此,在部署配置的过程中,由于疏忽总难 ...

  7. CentOS 7下的 Mysql 主从配置

    最近在玩mysql主从配置,在此记录一下 一.前言 1.安装两个虚拟机(CentOS 7).iP分别是192.168.47.131 和192.168.47.133.其中192.168.47.133作为 ...

  8. MySQL MHA配置

    MySQL环境: master:192.168.202.129:3306 slave:192.168.202.129:3307,192.168.202.129:3307,192.168.202.130 ...

  9. Mysql安全配置

    相关学习资料 http://drops.wooyun.org/tips/2245 http://www.cnblogs.com/siqi/archive/2012/11/21/2780966.html ...

随机推荐

  1. (转载)【Android】ViewGroup全面分析

    转载自:http://www.cnblogs.com/lqminn/archive/2013/01/23/2866543.html 一个Viewgroup基本的继承类格式如下: import andr ...

  2. Sphinx 增量索引更新

    是基于PHP API调用,而不是基于sphinxSE.现在看来sphinxSE比API调用更简单的多,因为之前没有想过sphinxSE,现在先把API的弄明白.涉及到的:sphinx 数据源的设置,简 ...

  3. 【Linux】为啥查某个进程的线程,查出来的所有线程的pid不一样啊

    楼上说的linux线程和进程是一样的,这个说法是错误的. 看了楼主的问题,感觉楼主是被PID给弄混了,线程进程都会有自己的ID,这个ID就叫做PID,PID是不特指进程ID,线程ID也可以叫做PID. ...

  4. swift init继承问题

    当在子类的 designated init方法中不手动调用 父类的 designated init方法时,如果父类有不接受任何参数的init,那么系统会自动调用它,编译器不会报错.但是如果父类中没有不 ...

  5. iOS 和 Android 触摸事件传递

    先看文章,写得很好 ios 触摸事件传递 http://www.cnblogs.com/Quains/p/3369132.html 另外一篇 http://blog.csdn.net/yongyinm ...

  6. php中常用魔术方法的举例

    魔术方法是php面向对象特有的功能,并且有时候能实现意想不到的效果,包括前面提到的构造函数.析构函数.还有__clone函数,另外再简单的介绍几个: 1.__toSring和__invoke clas ...

  7. ffplay mini 媒体播放器

    下载 http://pan.baidu.com/s/1dDcp3lZ 一定要解压到 D:\ffplay\ 目录下 双击 OpenWith_FFPlay_mini.reg 注册ffplay 在视频文件名 ...

  8. 第一章 用记事本搭建C#程序

    1.新建记事本:using System;class Text{ Console.WriteLine("你好如鹏网"); Console.WriteLine("www.r ...

  9. Android Session

    AsyncHttpClient保持session http://blog.csdn.net/ewrfedf/article/details/21968511

  10. DOS下常用网络命令技巧

    DOS,即使对于许多自称了解计算机的人而言,也是一个比较陌生的词汇.然而,在网络管理过程中,DOS命令却是一个不可逾越的障碍,几乎所有的网络命令都运行在DOS界面.对初级用户而言,掌握一些常用网络命令 ...