两台机子都是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 status\G 显示信息。如图:
二、配置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 status\G显示的File名称
master_log_pos:master数据库中通过show master status\G显示的Position数据
重启Slave 的MySql服务
在命令行中输入start slave.
在命令行中输入show slave status\G,显示如下:
可能出现的问题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 status\G;
可能出现的问题2:Slave_SQL_Running: NO 错误
1.程序可能在slave上进行了写操作
2.也可能是slave机器重起后,事务回滚造成的.
一般是事务回滚造成的:
解决办法:
mysql> stop slave ;
mysql> set GLOBAL SQL_SLAVE_SKIP_COUNTER=1;
mysql> start slave ;