说明:
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数据库中.