- 服務(wù)器 192.168.1.2 (master) ,服務(wù)器 192.168.1.3 (slave)
- 要將master配置為使用基于二進(jìn)制日志文件位置的復(fù)制,必須啟用二進(jìn)制日志記錄并建立唯一的server-id。要配置二進(jìn)制日志和server ID選項(xiàng),請(qǐng)關(guān)閉MySQL服務(wù)器并編輯my.cnf或my.ini文件。在配置文件的[mysqld]部分中,添加log-bin和server-id選項(xiàng)。如果這些選項(xiàng)已經(jīng)存在,但是注釋掉了,取消注釋并根據(jù)您的需要修改它們。
- 在master上,打開(kāi)對(duì)應(yīng)的my.cnf
- 重啟mysql,進(jìn)入mysql,查看對(duì)應(yīng)的server_id是否設(shè)置成功
- mysql> show variables like 'server_id';
- +---------------+-------+
- | Variable_name | Value |
- +---------------+-------+
- | server_id | 1 |
- +---------------+-------+
- 1 row in set (0.00 sec)
- 表示設(shè)置是成功的
- 在master上,創(chuàng)建復(fù)制使用的用戶(hù)(每個(gè)slave都使用MySQL用戶(hù)名和密碼連接到master,因此master必須有一個(gè)用戶(hù)帳戶(hù)可以讓slave用來(lái)連接。任何帳戶(hù)都可以用于此操作,只要授予它REPLICATION SLAVE特權(quán)。)
- 進(jìn)入mysql,執(zhí)行以下命令
- mysql> CREATE USER 'lisi'@'%' IDENTIFIED BY 'Lisi@123456';
- Query OK, 0 rows affected (0.00 sec)
- mysql> GRANT REPLICATION SLAVE ON . TO 'lisi'@'%';
- Query OK, 0 rows affected (0.00 sec)
- 接下來(lái)通過(guò)FLUSH刷新所有表和塊寫(xiě)入語(yǔ)句
- mysql> FLUSH TABLES WITH READ LOCK;
- Query OK, 0 rows affected (0.00 sec)
- 然后確定當(dāng)前的二進(jìn)制日志文件名稱(chēng)和位置:
- mysql> show master status;
- +------------------+----------+--------------+------------------+-------------------+
- | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | Executed_Gtid_Set |
- +------------------+----------+--------------+------------------+-------------------+
- | mysql-bin.000005 | 802858 | | | |
- +------------------+----------+--------------+------------------+-------------------+
- 1 row in set (0.00 sec)
- 在slave上,設(shè)置server_id,然后重啟slave的mysql
- 在slave上,在slave上設(shè)置master配置
- mysql> CHANGE MASTER TO MASTER_HOST='192.168.1.2', MASTER_USER='lisi', MASTER_PASSWORD='Lisi@123456', MASTER_LOG_FILE='mysql-bin.000005',MASTER_LOG_POS=802858;
- 參數(shù)講解
- MASTER_HOST master的ip地址
- MASTER_USER master的復(fù)制用戶(hù)名
- MASTER_PASSWORD master的復(fù)制用戶(hù)的密碼
- MASTER_LOG_FILE master的二進(jìn)制文件
- MASTER_LOG_POS master的二進(jìn)制文件位置
- 在slave上,啟動(dòng)復(fù)制
- mysql> start slave;
- Query OK, 0 rows affected (0.00 sec)
- 查看slave狀態(tài)
- mysql> show slave status\G
- 可以查看這兩個(gè)是Yes那就說(shuō)明成功了
- 在master上
- mysql> UNLOCK TABLES;
- Query OK, 0 rows affected (0.00 sec)
- 下面就是在mysql中的數(shù)據(jù)庫(kù)中隨便操作一下數(shù)據(jù),看下是否同步,如果同步則表示沒(méi)有問(wèn)題,有問(wèn)題,請(qǐng)及時(shí)查看slave的mysql錯(cuò)誤日志
注意:
創(chuàng)新互聯(lián)公司業(yè)務(wù)包括:成品網(wǎng)站、企業(yè)產(chǎn)品展示型網(wǎng)站建設(shè)、
高端網(wǎng)站設(shè)計(jì)、電子商務(wù)型網(wǎng)站建設(shè)、外貿(mào)營(yíng)銷(xiāo)網(wǎng)站建設(shè)(多語(yǔ)言)、
商城建設(shè)、按需定制制作、
網(wǎng)絡(luò)營(yíng)銷(xiāo)推廣等。效率優(yōu)先,品質(zhì)保證,用心服務(wù)是我們的核心價(jià)值觀,我們將繼續(xù)以良好的信譽(yù)為基礎(chǔ),秉承穩(wěn)固與發(fā)展、求實(shí)與創(chuàng)新的精神,為客戶(hù)提供更全面、更優(yōu)質(zhì)的互聯(lián)網(wǎng)服務(wù)!
- 需要驗(yàn)證一下master的復(fù)制賬號(hào)是否能遠(yuǎn)程登錄
- 復(fù)制組中的每個(gè)服務(wù)器必須配置唯一的server ID
這次操作踩的坑:
- Q: Can't connect to MySQL server on ‘server’ 在當(dāng)前主機(jī)上 mysql -uUserName -p -h localhost 可以連接上 mysql -uUserName -p -h ‘ip地址' 連接不上
- A:先按照https://dev.mysql.com/doc/refman/8.0/en/can-not-connect-to-server.html介紹的方法進(jìn)行排查,最后還發(fā)現(xiàn)連接不上,如果是阿里云的服務(wù)器,那么可能就是防火墻把3306d端口給關(guān)了,那么就要在防火墻把這個(gè)端口給放開(kāi)
- 或者進(jìn)入https://help.aliyun.com/document_detail/25471.html?spm=a2c4e.11153987.0.0.2de65a75vopCz7進(jìn)行設(shè)置
- Q:在slave機(jī)器上mysql -uUserName -p -h ‘master的ip地址’ 可以連接上,但show slave status是下圖
* - A:查看錯(cuò)誤日志
- 2026是ssl錯(cuò)誤,說(shuō)明我們啟動(dòng)了ssl連接
- 這時(shí)候需要在master和slave上的my.conf文件加上以下行
- 然后重啟mysql,如果在mysql中看到以下結(jié)果,就說(shuō)明ssl被關(guān)閉了
- 這時(shí)候如果slave還是連接不上master的話,我們?cè)倏匆幌聅how slave status的信息
- 如果Master_SSL_Allowed為Yes,那么就要改為No,具體修改在change master語(yǔ)句里面改,本次我們的修改例子為
CHANGE MASTER TO MASTER_HOST='192.168.1.2', MASTER_USER='lisi', MASTER_PASSWORD='Lisi@123456', MASTER_LOG_FILE='mysql-bin.000005',MASTER_LOG_POS=802858,master_ssl=0; 主要是master_ssl=0然后在執(zhí)行一下start slave。
參考資料:https://dev.mysql.com/doc/refman/5.7/en/binlog-replication-configuration-overview.html
PREV:1:MySQL的復(fù)制原理 https://blog.51cto.com/itzhoujun/2352587
NEXT:3:添加一個(gè)slave到已有的復(fù)制環(huán)境 https://blog.51cto.com/itzhoujun/2351567
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無(wú)理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性?xún)r(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專(zhuān)為企業(yè)上云打造定制,能夠滿足用戶(hù)豐富、多元化的應(yīng)用場(chǎng)景需求。
本文標(biāo)題:2:基于二進(jìn)制日志文件位置的復(fù)制-創(chuàng)新互聯(lián)
當(dāng)前地址:
http://weahome.cn/article/ehcce.html