mysql5.7主從複製,主主複製
主從複製:主庫可寫(會寫入從庫)可讀,從庫只能讀
主主複製:兩個庫可寫可讀,一個庫修改會寫入另一個庫
A.主從複製
1.準備兩臺機器
192.168.1.193 master 主庫機器
192.168.1.194 slave 從庫機器
2.在兩臺機器安裝mysql5.7
3.**配置 master 主庫機器 **
a.開啟binlog
設定mysql的唯一編號(mysql5.7即更高版本新加引數), 和開啟binlog日誌
輸入vi /etc/my.cnf 進入配置檔案,按Insert鍵進入編輯模式,新增如下引數
server-id=1 (機器的唯一標識)
log-bin=/var/lib/mysql/mysql-bin (開啟binlog)
新增完後,按Esc鍵,輸入 :wq! 儲存退出
b.重啟 service mysqld restart
c.進入mysql,檢視binlog是否開啟成功,輸入cd /var/lib/mysql,看到如下檔案代表開啟成功
d.建立使用者並授權
登入MySQL mysql -uroot -p
建立使用者:create user ‘repl’ identified by ‘repl’;
授權:grant replication slave on . to ‘repl’@‘192.168.1.%’ identified by ‘repl’;
4.配置slave 從庫機器
a.開啟binlog
輸入vi /etc/my.cnf 進入配置檔案,按Insert鍵進入編輯模式,新增如下引數
server-id=2
relay-log-index=slave-relay-bin.index
relay-log=slave-relay-bin
( ( server-id機器的唯一標識),後面兩步是用來開啟slave的relaylog功能的)
新增完後,按Esc鍵,輸入 :wq! 儲存退出
b.重啟 service mysqld restart
5.建立主從關係
a.開啟主庫機器登入mysql
輸入 show master status; 檢視狀態
b.開啟從庫機器登入mysql
輸入 show slave status\G; 檢視狀態,狀態未開啟時進行如下設定:
change master to
master_host=‘192.168.1.193’, // 主節點
master_port=3306, //主節點的埠號
master_user=‘repl’, // 賬號
master_password=‘repl’, // 密碼
master_log_file=‘mysql-bin.000002’, // show master status 對應的的日誌
master_log_pos=936; // show master status 對應的
c.輸入start slave 開啟從節點
輸入 show slave status\G; 檢視狀態,如下圖所示為成功
6.Navicat資料庫工具建立主從庫連線,如下圖所示:
如主從庫未開啟遠端訪問,需先開啟,操作如下:
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
FLUSH PRIVILEGES;
可以運算元據庫啦
B.主主複製
1.準備兩臺機器
192.168.1.193 master 主庫機器
192.168.1.195 master 主庫機器
2.在兩臺機器安裝mysql5.7
https://blog.csdn.net/qq_16676539/article/details/81904714
3.修改my.cnf
開啟binlog
輸入vi /etc/my.cnf 進入配置檔案,按Insert鍵進入編輯模式,新增如下引數
第一臺:
server-id=1
log-bin=/var/lib/mysql/mysql-bin
auto_increment_increment=2
auto_increment_offset=1
第二臺:
server-id=3
log-bin=/var/lib/mysql/mysql-bin
auto_increment_increment=2
auto_increment_offset=2
重啟 service mysqld restart
4. 建立使用者並授權
登入MySQL mysql -uroot -p
建立使用者:create user ‘repl’ identified by ‘repl’;
授權:grant replication slave on . to ‘repl’@‘192.168.1.%’ identified by ‘repl’;
set global validate_password_policy=0;
set global validate_password_length=1;
5.建立關係
第二臺關聯第一臺
a.開啟第一臺機器登入mysql
輸入 show master status; 檢視狀態
b.開啟第二臺機器登入mysql,執行如下操作
change master to
master_host=‘192.168.1.193’, // 主節點
master_port=3306, //主節點的埠號
master_user=‘repl’, // 賬號
master_password=‘repl’, // 密碼
master_log_file=‘mysql-bin.000002’, // show master status 對應的的日誌
master_log_pos=2072; // show master status 對應的
第一臺關聯第二臺
a.開啟第二臺機器登入mysql
輸入 show master status; 檢視狀態
b.開啟第一臺機器登入mysql,執行如下操作
change master to
master_host=‘192.168.1.195’, // 主節點
master_port=3306, //主節點的埠號
master_user=‘repl’, // 賬號
master_password=‘repl’, // 密碼
master_log_file=‘mysql-bin.000001’, // show master status 對應的的日誌
master_log_pos=702; // show master status 對應的
6.啟動庫,執行start slave
7.資料庫工具Navicat新建連線,遠端運算元據庫,可以看到兩個庫可以互相讀寫
*大功告成~~~~*
原文連結:https://blog.csdn.net/a375015762/article/details/80164042
binlog主要用途
binlog的兩個重要用途:
-
主從複製
對於主從部署的mysql server,master將所有可能更改資料庫狀態的操作寫入binlog並將其同步給slave,後者重放binlog中的操作序列以便使其資料庫狀態與master達到一致,這樣就實現了master-slave的資料同步。 -
資料恢復
資料庫恢復時可以回放binlog重建當機時的資料狀態。假設資料庫在某個備份點後又執行一段時間後當機,則server重啟後,可以在上次備份點的基礎上,通過回放binlog來重做資料以便恢復上次備份點到server當機這段時間內的資料狀態。
注意:binlog只包含可能改變資料庫狀態的操作,因此,select或show等不會修改資料的操作不會記錄在binlog中。
相關文章
- MySQL5.7主從複製-半同步複製搭建MySql
- MySQL5.7主從複製教程MySql
- 主從複製
- mysql複製--主從複製配置MySql
- Windows 環境下,MySQL 的主從複製和主主複製WindowsMySql
- windows環境下,Mysql的主從複製和主主複製WindowsMySql
- MySQL5.7在滴滴雲主機上的主從複製MySql
- mysql資料庫的主從複製和主主複製實踐MySql資料庫
- Redis:主從複製Redis
- Redis - 主從複製Redis
- MySQL主從複製MySql
- Redis主從複製Redis
- MySQL主從複製之GTID複製MySql
- MySQL叢集之 主從複製 主主複製 一主多從 多主一叢 實現方式MySql
- 主從複製是啥或者主從複製的原理是什麼?
- MySQL主從複製之半同步複製MySql
- MySQL主從複製之非同步複製MySql非同步
- mysql主從複製(一):一主多從MySql
- MySQL主從複製原理MySql
- MySQL的主從複製MySql
- redis系列:主從複製Redis
- PostgreSQL 主從複製方案SQL
- mysql--主從複製MySql
- Redis 主從複製原理Redis
- mysql 8.4 主從複製MySql
- redis(14)主從複製Redis
- Redis 主從複製(Replication)Redis
- mysql主從複製搭建MySql
- MySQL 主從複製之多執行緒複製MySql執行緒
- Mysql實現主從複製(一主雙從)MySql
- Mysql 8.4.0 結合 Docker 搭建GTID主從複製,以及傳統主從複製MySqlDocker
- Redis主從複製流程概述Redis
- windows 下mysql主從複製WindowsMySql
- mysql實現主從複製MySql
- mysql主從延遲複製MySql
- MySQL 主從複製實操MySql
- MYSQL主從複製配置(整理)MySql
- 主從複製--非同步篇非同步