首页 > 代码库 > windows 下 MySql5.6读写分离

windows 下 MySql5.6读写分离

说明:

1、MySql 版本5.6

2、本例中使用的主从服务器ip分别为:192.168.120.211;192.168.120.209

一、配置master服务器

1、配置

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

log-bin=mysql-bin
log-bin-index=mysql-bin.index
server-id = 1  --服务Id,和slave 的server-id不一样           
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.120.209‘ IDENTIFIED BY ‘ROOT‘;

说明:

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

master端,通过show master status\G 显示信息。如图:

注意上图中的File,和Position。Slave 中会用到这些信息

一、配置slave服务器

1、修改配置文件

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

server-id=2    --服务Id,和master 的server-id不一样     
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.120.211‘,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 status\G显示的File名称
  • master_log_pos:master数据库中通过show master status\G显示的Position数据

重启Slave 的MySql服务

在命令行中输入start slave.

在命令行中输入show slave status\G,显示如下:

 

注意:只有Slave_IO_Running与Slave_SQL_Running都为Yes才配置成功。

至此,配置全部完成。这样,Master服务器上testDb里的数据就能同步到slave的testDb数据库中.

 

windows 下 MySql5.6读写分离