MySQL(基于GTID方式)實現(xiàn)主從復制和單主復制詳細教程
前言
在分布式數(shù)據(jù)庫系統(tǒng)中,主從復制是實現(xiàn)高可用性和數(shù)據(jù)冗余的重要手段。基于GTID(Global Transaction Identifier)的復制模式可以提供更強的復制一致性和簡化故障轉(zhuǎn)移過程。本文將詳細介紹如何配置單主復制的GTID模式,以便在MySQL數(shù)據(jù)庫中實現(xiàn)穩(wěn)定可靠的數(shù)據(jù)復制。
1. 單主復制
1.1 主服務器配置
首先,我們需要配置主服務器的MySQL,使其支持GTID模式。
修改MySQL配置文件
使用以下命令編輯MySQL配置文件:
vim /etc/my.cnf
在配置文件中添加以下內(nèi)容:
server-id = 100 log_bin = mysql-bin gtid_mode = ON enforce_gtid_consistency = true
這些配置選項的作用如下:
server-id
: 唯一標識MySQL實例的ID。log_bin
: 啟用二進制日志記錄。gtid_mode
: 開啟GTID模式。enforce_gtid_consistency
: 強制GTID一致性,確保每個事務都有一個唯一的GTID。
重啟MySQL服務
應用配置更改后,需要重啟MySQL服務:
systemctl restart mysqld
1.2 創(chuàng)建具有復制權限的用戶
接下來,在主服務器上創(chuàng)建一個專門用于復制的用戶,并授予其相應的權限:
grant replication slave on *.* to 'repluser'@'192.168.192.%' identified by 'Abc-1234'; flush privileges; show master status\G;
grant replication slave
: 授予復制權限。flush privileges
: 刷新權限,使其立即生效。show master status
: 查看主服務器的當前狀態(tài)。
1.3 從服務器配置
在從服務器上進行類似的配置,使其能夠與主服務器同步。
修改MySQL配置文件
使用以下命令編輯從服務器的MySQL配置文件:
vim /etc/my.cnf
在配置文件中添加以下內(nèi)容:
server-id = 110 gtid_mode = ON enforce_gtid_consistency = true
這些配置與主服務器類似,只是server-id
需要不同于主服務器。
重啟MySQL服務
應用配置更改后,重啟從服務器的MySQL服務:
systemctl restart mysqld
1.4 配置從服務器的復制
在從服務器上執(zhí)行以下命令,配置與主服務器的復制關系:
mysql -uroot -pABCabc-123
change master to master_host="192.168.180.50", master_user="repluser", master_password="ABCabc-123", master_auto_position=1;
這些命令的作用如下:
master_host
: 主服務器的IP地址。master_user
: 用于復制的用戶名。master_password
: 用戶的密碼。master_auto_position
: 自動位置調(diào)整,確保使用GTID模式。
1.5 啟動從服務
配置完成后,啟動從服務器的復制服務:
start slave;
1.6 查看從服務器狀態(tài)
使用以下命令查看從服務器的狀態(tài),以確保復制正常運行:
show slave status\G;
測試主從復制
最后,進行測試以驗證主從復制是否正常工作。
在主服務器上測試
mysql> create database smqnz; // 創(chuàng)建數(shù)據(jù)庫 Query OK, 1 row affected (0.00 sec) mysql> use smqnz; // 進入smqnz數(shù)據(jù)庫 Database changed mysql> create table test(age int); // 創(chuàng)建一個表 Query OK, 0 rows affected (0.01 sec) mysql> insert into test values(1); // 插入數(shù)據(jù) Query OK, 1 row affected (0.04 sec) mysql> select * from test; // 查詢數(shù)據(jù) +------+ | age | +------+ | 1 | +------+
在從服務器上驗證
mysql> select * from smqnz.test; +------+ | age | +------+ | 1 | +------+ 1 row in set (0.00 sec)
總結
本文介紹了如何在MySQL中配置單主復制的GTID模式,包括主服務器和從服務器的配置步驟、創(chuàng)建復制用戶及測試主從復制的過程,以實現(xiàn)高可用性和數(shù)據(jù)冗余。
到此這篇關于MySQL(基于GTID方式)實現(xiàn)主從復制和單主復制詳細教程的文章就介紹到這了,更多相關MySQL GTID單主復制內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
MySQL數(shù)據(jù)庫卸載以及刪除所有有關信息詳細步驟
在MySQL中數(shù)據(jù)刪除操作不僅僅是簡單地將某一個或多個行刪除,下面這篇文章主要給大家介紹了關于MySQL數(shù)據(jù)庫卸載以及刪除所有有關信息的詳細步驟,文中通過圖文介紹的非常詳細,需要的朋友可以參考下2023-06-06MySQL中的LOCATE和POSITION函數(shù)使用方法
不常用:MySQL中的LOCATE和POSITION函數(shù)2010-02-02在Centos7中利用Shell腳本實現(xiàn)MySQL數(shù)據(jù)備份
備份是容災的基礎,是指為防止系統(tǒng)出現(xiàn)操作失誤或系統(tǒng)故障導致數(shù)據(jù)丟失,而將全部或部分數(shù)據(jù)集合從應用主機的硬盤或陣列復制到其它的存儲介質(zhì)的過程,本文將給大家介紹了在Centos7中利用Shell腳本實現(xiàn)MySQL數(shù)據(jù)備份,文中有詳細的圖文介紹,需要的朋友可以參考下2023-12-12從ibd文件恢復MySQL數(shù)據(jù)的操作步驟及常見錯誤
MySQL數(shù)據(jù)恢復是數(shù)據(jù)庫管理中的一項重要任務,尤其是在遭遇意外數(shù)據(jù)丟失、硬件故障或軟件錯誤時,下面這篇文章主要給大家介紹了關于從ibd文件恢復MySQL數(shù)據(jù)的操作步驟及常見錯誤,需要的朋友可以參考下2024-08-08