新聞中心
MySQL數(shù)據(jù)庫(kù)中如何實(shí)現(xiàn)主從服務(wù)器文檔的部署呢?主從服務(wù)器之間怎樣進(jìn)行文檔切換呢?本文我們主要就介紹了這一部分的內(nèi)容,接下來(lái)我們就開(kāi)始介紹。

成都創(chuàng)新互聯(lián)公司主營(yíng)古冶網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP開(kāi)發(fā),古冶h5微信平臺(tái)小程序開(kāi)發(fā)搭建,古冶網(wǎng)站營(yíng)銷(xiāo)推廣歡迎古冶等地區(qū)企業(yè)咨詢
一、部署文檔
1.確保在主服務(wù)器和從服務(wù)器上安裝的MySQL版本一致.
2.在主服務(wù)器上為從服務(wù)器設(shè)置一個(gè)連接賬戶
mysql GRANT REPLICATION SLAVE, SUPER, RELOAD ON *.* TO 'username'@10.1.1.4' IDENTIFIED BY 'use。
主服務(wù)器IP: 10.1.1.3
從服務(wù)器IP: 10.1.1.4
1.確保在主服務(wù)器和從服務(wù)器上安裝的MySQL版本一致.
2.在主服務(wù)器上為從服務(wù)器設(shè)置一個(gè)連接賬戶
- mysql> GRANT REPLICATION SLAVE, SUPER, RELOAD ON *.* TO IDENTIF
- IED BY 'userpassword';
3. 執(zhí)行FLUSH TABLES WITH READ LOCK 進(jìn)行鎖表
- mysql> FLUSH TABLES WITH READ LOCK;
4. 讓客戶程序保持運(yùn)行,發(fā)出FLUSH TABLES語(yǔ)句讓讀鎖定保持有效。(如果退出客戶程序,鎖被釋放)。進(jìn)入主服務(wù)器的數(shù)據(jù)目錄,然后執(zhí)行命令:
- shell> tar -cvf /tmp/mysql-snapshot.tar .
- shell> tar -xvf /tmp/mysql-snapshot.tar
讀取主服務(wù)器上當(dāng)前的二進(jìn)制日志名(File)和偏移量值(Position),并記錄下來(lái):
mysql > SHOW MASTER STATUS; | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | | mysql-bin.003 | 73 | test | manual,mysql | 取得快照并記錄日志名和偏移量后,可以在主服務(wù)器上重新啟用寫(xiě)活動(dòng):
mysql> UNLOCK TABLES;
5. 確保主服務(wù)器主機(jī)上my.cnf文件的[mysqld]部分包括一個(gè)log_bin選項(xiàng)
- [mysqld]
- Log_bin=mysql-bin
- server-id=1
6. 停止用于從服務(wù)器的服務(wù)器并在其my.cnf文件中添加下面的行:
- [mysqld]
- server-id=2
7.如果對(duì)主服務(wù)器的數(shù)據(jù)進(jìn)行二進(jìn)制備份,啟動(dòng)從服務(wù)器之前將它復(fù)制到從服務(wù)器的數(shù)據(jù)目錄中。
確保對(duì)這些文件和目錄的權(quán)限正確。服務(wù)器 MySQL運(yùn)行的用戶必須能夠讀寫(xiě)文件,如同在主服務(wù)器上一樣。
8. 用--skip-slave-start選項(xiàng)啟動(dòng)從服務(wù)器,以便它不立即嘗試連接主服務(wù)器。
9. 在從服務(wù)器上執(zhí)行下面的語(yǔ)句:
- mysql> CHANGE MASTER TO MASTER_HOST='10.1.1.3',MASTER_USER='username',MASTER_PASSWORD='userpassword',
- MASTER_LOG_FILE='recorded_log_file_name',MASTER_LOG_POS=recorded_log_position;
9. 啟動(dòng)從服務(wù)器線程:
mysql> START SLAVE;
10.驗(yàn)證部署是否成功
- mysql> show slave status\G
- *************************** 1. row ***************************
- Slave_IO_State: Waiting for master to send event
- Master_Host: 10.1.1.3
- Master_User: rep_slave
- Master_Port: 3306
- Connect_Retry: 60
- Master_Log_File: mysql-bin.000058
- Read_Master_Log_Pos: 27324573
- Relay_Log_File: cacti-11-111-relay-bin.000008
- Relay_Log_Pos: 27324718
- Relay_Master_Log_File: mysql-bin.000058
- Slave_IO_Running: Yes
- Slave_SQL_Running: Yes
- Replicate_Do_DB:
- Replicate_Ignore_DB: mysql
- Replicate_Do_Table:
- Replicate_Ignore_Table:
- Replicate_Wild_Do_Table:
- Replicate_Wild_Ignore_Table:
- Last_Errno: 0
- Last_Error:
- Skip_Counter: 0
- Exec_Master_Log_Pos: 27324573
- Relay_Log_Space: 27325025
- Until_Condition: None
- Until_Log_File:
- Until_Log_Pos: 0
- Master_SSL_Allowed: No
- Master_SSL_CA_File:
- Master_SSL_CA_Path:
- Master_SSL_Cert:
- Master_SSL_Cipher:
- Master_SSL_Key:
- Seconds_Behind_Master: 0
- Master_SSL_Verify_Server_Cert: No
- 1 row in set (0.00 sec)
當(dāng)Slave_IO_Running和Slave_SQL_Running都顯示Yes的時(shí)候,表示同步成功。
二、切換文檔
1. 確保從服務(wù)器已經(jīng)處理了中繼日志中的所有語(yǔ)句。 mysql> STOP SLAVE IO_THREAD。
2.然后檢查SHOW PROCESSLIST語(yǔ)句的輸出,直到你看到Has read all relay log。
3.當(dāng)從服務(wù)器都執(zhí)行完這些,它們可以被重新配置為一個(gè)新的設(shè)置。
4.在被提升為主服務(wù)器的從服務(wù)器上,發(fā)出 STOP SLAVE和RESET MASTER和RESET SLAVE操作。
5. 然后重啟mysql服務(wù)。
6.在主服務(wù)器上RESET MASTER。然后CHANGE MASTER TO MASTER_HOST='10.1.1.4',MASTER_USER='rep_slave',MASTER_PASSWORD='userpassword';切換完成。
關(guān)于MySQL數(shù)據(jù)庫(kù)主從服務(wù)器文檔的部署及主從文檔切換的知識(shí)就介紹到這里了,希望本次的介紹能夠?qū)δ兴斋@。
【編輯推薦】
- 關(guān)于Oracle數(shù)據(jù)庫(kù)閃回個(gè)性的詳細(xì)介紹
- 批量轉(zhuǎn)換MySQL數(shù)據(jù)庫(kù)表的存儲(chǔ)引擎的方法
- MySQL數(shù)據(jù)庫(kù)集群實(shí)現(xiàn)負(fù)載均衡的安裝配置詳解
- 一個(gè)mysql數(shù)據(jù)庫(kù)配置問(wèn)題導(dǎo)致登錄失敗的解決方案
- MySQL數(shù)據(jù)庫(kù)打開(kāi)文件太多導(dǎo)致mysqldump出錯(cuò)的解決
分享文章:MySQL數(shù)據(jù)庫(kù)主從服務(wù)器文檔的部署與切換詳解
文章分享:http://m.fisionsoft.com.cn/article/cocoseg.html


咨詢
建站咨詢
