MySQL主從復(fù)制的原生安裝配置方案(非Docker環(huán)境)
MySQL 主從復(fù)制 — 雙服務(wù)器災(zāi)備方案(原生安裝)
適用場景:MySQL 直接安裝在系統(tǒng)上(非 Docker)
環(huán)境要求
| 項目 | 主庫 | 從庫 |
|---|---|---|
| 服務(wù)器IP | 192.168.1.100(示例) | 192.168.1.101(示例) |
| MySQL版本 | 5.6.51 | 5.6.51 |
| 端口 | 3306 | 3306 |
第一部分:主庫配置
步驟 1:開啟 binlog
Linux 編輯 /etc/my.cnf,Windows 編輯 C:\ProgramData\MySQL\MySQL Server 5.6\my.ini:
[mysqld] log-bin = mysql-bin server-id = 1 binlog-format = ROW expire-logs-days = 7
重啟 MySQL:
# Linux systemctl restart mysql # Windows net stop mysql56 && net start mysql56
驗證:
SHOW MASTER STATUS;
步驟 2:創(chuàng)建復(fù)制用戶
CREATE USER 'replicator'@'%' IDENTIFIED BY '你的密碼'; GRANT REPLICATION SLAVE ON *.* TO 'replicator'@'%'; FLUSH PRIVILEGES;
步驟 3:開放防火墻
# Linux firewall-cmd --permanent --add-port=3306/tcp && firewall-cmd --reload # Windows(PowerShell) New-NetFirewallRule -DisplayName "MySQL" -Direction Inbound -Protocol TCP -LocalPort 3306 -Action Allow
第二部分:從庫配置
步驟 1:配置 server-id
[mysqld] server-id = 2
重啟 MySQL。
步驟 2:復(fù)制數(shù)據(jù)
主庫導(dǎo)出:
mysqldump -u root -p --all-databases --master-data --single-transaction > master_dump.sql
傳送到從庫:
scp master_dump.sql root@192.168.1.101:/tmp/
從庫恢復(fù):
mysql -u root -p < /tmp/master_dump.sql
步驟 3:啟動復(fù)制
CHANGE MASTER TO MASTER_HOST = '主庫IP', MASTER_PORT = 3306, MASTER_USER = 'replicator', MASTER_PASSWORD = '你的密碼', MASTER_LOG_FILE = 'mysql-bin.xxxxxx', MASTER_LOG_POS = xxxx; START SLAVE;
MASTER_LOG_FILE 和 MASTER_LOG_POS 從主庫 SHOW MASTER STATUS 獲取
步驟 4:檢查狀態(tài)
SHOW SLAVE STATUS\G
必須全是 Yes:
| 字段 | 必須等于 |
|---|---|
Slave_IO_Running | Yes |
Slave_SQL_Running | Yes |
Seconds_Behind_Master | 0 |
第三部分:故障切換(主庫掛了)
- 從庫上檢查已追平:
SHOW SLAVE STATUS→Slave has read all relay log - 提升為新的主庫:
STOP SLAVE; RESET SLAVE ALL; SET GLOBAL read_only = OFF;
- 應(yīng)用連接 IP 改為從庫的 IP,重啟應(yīng)用
一句話:主庫開 binlog → 建復(fù)制用戶 → 導(dǎo)出數(shù)據(jù)給從庫 → 從庫導(dǎo)入 → CHANGE MASTER → START SLAVE
以上就是MySQL主從復(fù)制的原生安裝配置方案(非Docker環(huán)境)的詳細內(nèi)容,更多關(guān)于MySQL主從復(fù)制原生安裝配置的資料請關(guān)注腳本之家其它相關(guān)文章!
相關(guān)文章
mysql_fetch_row()與mysql_fetch_array()的使用介紹
本篇文章是對mysql_fetch_row()與mysql_fetch_array()的使用進行了詳細的分析介紹,需要的朋友參考下2013-06-06
MySQL中create table as 與like的區(qū)別分析
這篇文章主要介紹了MySQL中create table as 與like的區(qū)別,結(jié)合實例分析了二者在使用中的具體區(qū)別與主要用途,需要的朋友可以參考下2016-01-01
詳解Mysql之mysqlbackup備份與恢復(fù)實踐
這篇文章主要介紹了詳解Mysql之mysqlbackup備份與恢復(fù)實踐,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2021-02-02
mysql和hive中幾種關(guān)聯(lián)(join/union)區(qū)別及說明
本文主要介紹了MySQL和Hive中各種連接和合并操作的用法,包括INNER JOIN、LEFT JOIN、RIGHT JOIN、LEFT SEMI JOIN以及UNION和UNION ALL,同時,也提到了Hive在處理連接時的一些特殊規(guī)則和限制2025-11-11
在OneProxy的基礎(chǔ)上實行MySQL讀寫分離與負載均衡
基于Libevent機制實現(xiàn),單個實例可以實現(xiàn)25萬的SQL轉(zhuǎn)發(fā)能力,用一個OneProxy節(jié)點可以帶動整個MySQL集群,為業(yè)務(wù)發(fā)展貢獻一份力量,下面由小編來為大家簡單說說2019-05-05
mysql技巧:提高插入數(shù)據(jù)(添加記錄)的速度
這篇文章主要介紹了mysql技巧:提高插入數(shù)據(jù)(添加記錄)的速度,需要的朋友可以參考下2014-12-12

