mysql5.6 主从配置

两台机子都是win7系统,mysql版本为5.6

本例中使用的主从服务器ip分别为:192.168.9.71;192.168.9.248

一、配置master服务器

1、配置

在my.ini中[mysqld]配置如下:

log-bin=mysql-bin
log-bin-index=mysql-bin.index
server-id=1   
sync_binlog=1
binlog_format=mixed
binlog-do-db=testdb
binlog-ignore-db=mysql
binlog-ignore-db=performance_schema
binlog-ignore-db=information_schema 

网上有种说法max_allowed_packet需要配置一个较大的值。原因未知。

配置完成后重启MySql服务。

2、授权:授权slave同步数据的账号密码。

GRANT REPLICATION SLAVE ON *.*TO 'ROOT'@'192.168.9.248' IDENTIFIED BY 'ROOT';

说明:

  • ROOT:Slave使用的账号
  • IDENTIFIED BY 'ROOT' :Slave使用的密码
  • 192.168.120.209:Slave 数据库IP

master端,通过命令窗口 show master statusG  显示信息。如图:

二、配置slave服务器

1、修改配置文件

在slave数据库服务器的配置文件中的[mysqld]做如下配置:

server-id=2   
log-bin=mysql-bin
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin

sync_master_info=1
sync_relay_log=1
sync_relay_log_info=1

2、关联上Master信息

使用如下命令:

change master to master_host='192.168.9.71',master_user='ROOT',master_port=3306,master_password='ROOT',master_log_file='mysql-bin.000001',master_log_pos=332

命令说明:

  • master_host:master 数据库服务器ip
  • master_user: master  数据库通过GRANT授权的账号
  • master_port:master  数据库使用的端口号
  • master_password:master  数据库通过GRANT授权的密码
  • master_log_file:master数据库中通过show master statusG显示的File名称
  • master_log_pos:master数据库中通过show master statusG显示的Position数据

重启Slave 的MySql服务

在命令行中输入start slave.

在命令行中输入show slave statusG,显示如下:

可能出现的问题1: Slave_IO_Running: No 错误

有可能是Master_Log_File与Master数据库中的文件不一样。

 

 

处理方法;

stop slave;
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000003', MASTER_LOG_POS=0;
start slave;
show slave statusG;
 可能出现的问题2:Slave_SQL_Running: NO 错误

1.程序可能在slave上进行了写操作

2.也可能是slave机器重起后,事务回滚造成的.
一般是事务回滚造成的:
解决办法:

mysql> stop slave ;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> start slave ;
原文地址:https://www.cnblogs.com/richard713/p/11010691.html