MySql Replication配置 一、前言 二、环境准备 三、在Master和Slave上分别开启root用户远程访问,并设置root用户密码,默认为空 四、在Master数据库上创建一个repl用户并进行授权,用于slave机器访问master数据库 五、在Master服务器上创建一个TestDB数据库,用于Replication 六、修改Master数据库的数据库配置(/etc/my.cnf),开启数据库二进制日志记录 七、重启Master数据库 八、检查Master库的Master状态 九、修改Slave数据库配置(/etc/my.cnf) 十、重启Slave数据库 十一、设置slave节点replication指向master,在Slave库执行change master command 十二、在Salve服务器启用slave模式 十三、查看replication的执行情况、以及相关处理Process 十四、至此MySQL Replication 相关的配置完成,在Master库的任

MySql Replication配置
一、前言
二、环境准备
三、在Master和Slave上分别开启root用户远程访问,并设置root用户密码,默认为空
四、在Master数据库上创建一个repl用户并进行授权,用于slave机器访问master数据库
五、在Master服务器上创建一个TestDB数据库,用于Replication
六、修改Master数据库的数据库配置(/etc/my.cnf),开启数据库二进制日志记录
七、重启Master数据库
八、检查Master库的Master状态
九、修改Slave数据库配置(/etc/my.cnf)
十、重启Slave数据库
十一、设置slave节点replication指向master,在Slave库执行change master command
十二、在Salve服务器启用slave模式
十三、查看replication的执行情况、以及相关处理Process
十四、至此MySQL Replication 相关的配置完成,在Master库的任

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

MySql Replication配置
一、前言
二、环境准备
三、在Master和Slave上分别开启root用户远程访问,并设置root用户密码,默认为空
四、在Master数据库上创建一个repl用户并进行授权,用于slave机器访问master数据库
五、在Master服务器上创建一个TestDB数据库,用于Replication
六、修改Master数据库的数据库配置(/etc/my.cnf),开启数据库二进制日志记录
七、重启Master数据库
八、检查Master库的Master状态
九、修改Slave数据库配置(/etc/my.cnf)
十、重启Slave数据库
十一、设置slave节点replication指向master,在Slave库执行change master command
十二、在Salve服务器启用slave模式
十三、查看replication的执行情况、以及相关处理Process
十四、至此MySQL Replication 相关的配置完成,在Master库的任何修改都会通过事务日志提交到Slave。

二、环境准备

  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表数据如下:

MySql Replication配置
一、前言
二、环境准备
三、在Master和Slave上分别开启root用户远程访问,并设置root用户密码,默认为空
四、在Master数据库上创建一个repl用户并进行授权,用于slave机器访问master数据库
五、在Master服务器上创建一个TestDB数据库,用于Replication
六、修改Master数据库的数据库配置(/etc/my.cnf),开启数据库二进制日志记录
七、重启Master数据库
八、检查Master库的Master状态
九、修改Slave数据库配置(/etc/my.cnf)
十、重启Slave数据库
十一、设置slave节点replication指向master,在Slave库执行change master command
十二、在Salve服务器启用slave模式
十三、查看replication的执行情况、以及相关处理Process
十四、至此MySQL Replication 相关的配置完成,在Master库的任何修改都会通过事务日志提交到Slave。

五、在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;

显示结果如下:

MySql Replication配置
一、前言
二、环境准备
三、在Master和Slave上分别开启root用户远程访问,并设置root用户密码,默认为空
四、在Master数据库上创建一个repl用户并进行授权,用于slave机器访问master数据库
五、在Master服务器上创建一个TestDB数据库,用于Replication
六、修改Master数据库的数据库配置(/etc/my.cnf),开启数据库二进制日志记录
七、重启Master数据库
八、检查Master库的Master状态
九、修改Slave数据库配置(/etc/my.cnf)
十、重启Slave数据库
十一、设置slave节点replication指向master,在Slave库执行change master command
十二、在Salve服务器启用slave模式
十三、查看replication的执行情况、以及相关处理Process
十四、至此MySQL Replication 相关的配置完成,在Master库的任何修改都会通过事务日志提交到Slave。

九、修改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上分别开启root用户远程访问,并设置root用户密码,默认为空
四、在Master数据库上创建一个repl用户并进行授权,用于slave机器访问master数据库
五、在Master服务器上创建一个TestDB数据库,用于Replication
六、修改Master数据库的数据库配置(/etc/my.cnf),开启数据库二进制日志记录
七、重启Master数据库
八、检查Master库的Master状态
九、修改Slave数据库配置(/etc/my.cnf)
十、重启Slave数据库
十一、设置slave节点replication指向master,在Slave库执行change master command
十二、在Salve服务器启用slave模式
十三、查看replication的执行情况、以及相关处理Process
十四、至此MySQL Replication 相关的配置完成,在Master库的任何修改都会通过事务日志提交到Slave。

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