mysql 5.7 windows 主从_windows server下Mysql5.7主从复制
1、說(shuō)明:
MySQL版本:5.7
Master服務(wù)器IP:10.10.12.224,賬號(hào)為root,密碼:*
Slave服務(wù)器IP:10.10.12.225,賬號(hào)為root,密碼:*
2、Master服務(wù)器配置
·????????找到Master服務(wù)器MySQL配置文件my.ini,用記事本打開,在[mysqld]下添加主服務(wù)相關(guān)內(nèi)容;
log-bin=mysql-bin
log-bin-index=mysql-bin.index
server-id=224 --服務(wù)Id,和slave 的server-id不一樣
sync_binlog=224
binlog-do-db= testdb --做主從同步的數(shù)據(jù)庫(kù)名
binlog-ignore-db= mysql –忽略不同步的數(shù)據(jù)庫(kù)名
binlog-ignore-db= performance_schema
binlog-ignore-db= information_schema
·????????配置完畢重啟MySQL服務(wù);
·????????授權(quán):授權(quán)slave同步數(shù)據(jù)的賬號(hào)密碼。
授權(quán)命令為:GRANT REPLICATION SLAVE ON *.*TO'賬號(hào)'@'Slave地址' IDENTIFIED BY'密碼';//賬號(hào)為slave使用的賬號(hào)
本次使用的是一主兩從,所以執(zhí)行兩條命令分別給兩臺(tái)slave授權(quán):
GRANT REPLICATION SLAVEON*.*TO ’root’@’10.10.12.225’ IDENTIFIED BY ‘root’;
GRANT REPLICATION SLAVEON*.*TO ’root’@’10.10.12.230’ IDENTIFIED BY ‘root’;
·????????在Master端,使用以下命令查看Master端狀態(tài),需要記住狀態(tài)的File,和Position參數(shù),在Slave配置中會(huì)用到。
登錄mysql,然后輸入命令:show master status ?\G;然后就可以看到file和position的值。
3、Slave服務(wù)器(10.10.12.225)配置
·????????修改配置:在Slave服務(wù)器中找到MySQL的配置文件my.ini,用記事本打開,在[mysqld]下新增以下內(nèi)容:
server-id=225??? --服務(wù)Id,和master 的server-id不一樣
log-bin = mysql-bin
·????????重啟Slave MySQL服務(wù);
·????????Slave關(guān)聯(lián)Master:在MySQL命令行中執(zhí)行以下命令;
CHANGE MASTER TO
MASTER_HOST='master_host_name',
MASTER_USER='replication_user_name',
MASTER_PASSWORD='replication_password',
MASTER_LOG_FILE='recorded_log_file_name',
MASTER_LOG_POS=recorded_log_position;
//master_host_name:master:服務(wù)器IP
//replication_user_name:用戶名(上面授權(quán))
//replication_password:密碼
//recorded_log_file_name:文件名(查看狀態(tài)得到)
//recorded_log_position:開始位置
·????????重啟Slave MySQL服務(wù);
·????????啟動(dòng)Slave,輸入以下命令;
startslave;
在命令行中輸入以下命令:show slave status \G;
若Slave_IO_Running與Slave_SQL_Running都為YES,則讀寫分離配置成功。
說(shuō)明:
若Slave_IO_Running與Slave_SQL_Running有一個(gè)為NO,則讀寫分離配置不成功。
·????????Slave_IO_Running為NO:
首先查看Master和Slave的server-id是否一致,若一致,需要修改,然后重啟slave(start slave)。
show GLOBAL VARIABLES like?'%server_id%';//查看server_id
set GLOBAL server_id=2;//重新設(shè)置server_id
·????????Slave_SQL_Running為NO:
原因:程序可能在slave上進(jìn)行了寫操作 ,也可能是slave機(jī)器重起后,事務(wù)回滾造成的。
解決方法:
1.首先停掉Slave服務(wù):slave stop;
2.到主服務(wù)器上查看主機(jī)狀態(tài),記錄File和Position對(duì)應(yīng)的值:show master status ?\G;
3.到slave服務(wù)器上執(zhí)行手動(dòng)同步:
change master to
master_host='10.10.12.224',
master_user='root',
master_password='root',
master_port=3306,
master_log_file='mysql-bin.000003',
master_log_pos=207448;
4.重啟Slave:slave start;
5.再次查看slave狀態(tài)發(fā)現(xiàn):
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
總結(jié)
以上是生活随笔為你收集整理的mysql 5.7 windows 主从_windows server下Mysql5.7主从复制的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 魅族新机预热搞炸魅友心态后遭疯狂Diss
- 下一篇: struts.xml mysql_myb