兩台機子都是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 ;