MySQL5.6 主从复制配置

MySQL5.6 主从复制配置

转自本人独立博客:http://www.wangboak.com/2014/10/mysql5-6-replication-manual/

环境说明:

两台安装在CentOS6.5MySQL5.6.21服务器:master slave

Master服务器:

IP192.168.80.51

Port3316

Slave 服务器:

IP192.168.80.52

Port3316

配置步骤:

1、  修改mastermy.cnf配置文件,开启记录日志并设置server-id

2、  修改slavemy.cnf配置文件,开启读取二进制日志并设置server-id

3、  slave上启动slavemaster的连接。

4、  检查是否配置成功与排错。

 

1、  修改 master my.cnf配置文件,在[mysqld]下添加如下配置:

[mysqld]

log-bin=/usr/local/mysql56/binlog/master-bin

log-bin-index=/usr/local/mysql56/binlog/master-bin.index

server-id=1

说明:

log-bin 配置的是开启二进制日志,并将日志写在配置的路径上。记录的日志将以master-bin.000001 的方式进行记录。

log-bin-index 配置的是二进制日志记录文件的目录。该文件中每一行都是二进制日志文件的路径。

server-id是该MySQL服务器的服务ID,用于区分在主从配置中的其他服务器。

配置成功后,重启mysqld服务。

注意:如果不定义log-bin的文件名,则会以hostname主机名命名,一旦主机名修改,则会因为找不见二进制文件报错。所以最好还是显示指定文件名。

2、  修改 slave my.cnf配置文件,在[mysqld]下添加如下配置:

server-id=11

relay-log=/usr/local/mysql56/binlog/slave-relay-bin

relay-log-index=/usr/local/mysql56/binlog/slave-relay-bin.index

server-idmaster意义一样,用于区分不同的mysql服务器。

relay-log用以记录收到的中继二进制日志。relay-log-index用以保存收到的日志路径索引。如果不显示指定文件名,则以hostname值命名。

保存后可以重启mysqld服务。

3、  slave上启动slavemaster的连接。

slave上登录到mysql,在mysql>:下进行操作。

  1. 1mysql>stop slave; //停止slave

  2. 2mysql>change master to

                    ->master_host=’192.168.80.51’,      //注意有个逗号

                    ->master_port=3316,

                    ->master_user=’root’,

                    ->master_password=’root’;

  1. 3mysql>start slave;

4、检查是否配置成功与排错

         mysql>show slave status \G;

         在打印出来的状态下,查看以下两个参数的值:

         Slave_IO_Running: Yes

         Slave_SQL_Running: Yes

         如果这两个参数的值都是yes,则运行正常,可以在master数据库上添加一个数据库或者添加一张表,检查slave数据库上是否存在。

         如果 这两个参数有任何一个不是 Yes,则说明存在问题。可以查看slave上的数据库错误日志文件查看错误原因。

 

常见的错误原因:

1、  server-id 一致。

2、  用户权限不够。需要的权限包括:REPLICATION SLAVE,RELOAD,CREATE USER,SUPER

GRANT REPLICATION SLAVE,RELOAD,CREATE USER,SUPER ON *.* TO {USER}@{IP_ADDR} WITH GRANT OPTION;

3、  数据库UUID一致,如果mysql安装时是通过批量复制安装的,则有可能数据库的UUID一致,进入数据库的datadir目录,修改auto.cnf。随意修改下uuid中的值,重启mysqld服务即可。

4、  Master数据库端口被防火墙阻挡。


你可能感兴趣的:(mysql,复制,mysql5.6,主从复制)