您好,登錄后才能下訂單哦!
本篇內容主要講解“MYSQL主主復制的搭建過程”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“MYSQL主主復制的搭建過程”吧!
一、環境說明:
IP | 主機名 | 數據庫名 | 連接用戶 | 密碼 | |
192.168.47.179 | Mysql01 | retail | server01 | server01 | |
192.168.47.178 | Mysql02 | retail | server02 | server02 |
二、搭建步驟
2.1 創建數據的連接用戶
Mysql01上面創建連接用戶server01,并且只能通過192.168.47.178進行連接;
腳本:mysql> GRANT REPLICATION SLAVE ON retail.* TO 'server01'@'192.168.47.178 ' IDENTIFIED BY 'server01';
Mysql02上面創建連接用戶server02,并且只能通過192.168.47.149進行連接;
腳本:mysql> GRANT REPLICATION SLAVE ON retail.* TO 'server02'@'192.168.47.179 ' IDENTIFIED BY 'server01';
2.2 修改mysql的參數文件
修改Mysql01的參數文件,在MySQL的主配置文件默認為/etc/my.cnf,修改/添加如下內容
server-id = 10 log-bin = mysql-bin replicate-do-db = retail auto-increment-increment = 2 auto-increment-offset = 1 |
修改之后,重啟msyql生效:service mysqld restart
修改Mysql02的參數文件,在MySQL的主配置文件默認為/etc/my.cnf,修改/添加如下內容
server-id = 20 log-bin = mysql-bin replicate-do-db = retail auto-increment-increment = 2 auto-increment-offset = 2 |
參數說明:
a、server-id數據庫的進行數據同步的時候用于標識該語句最初是從哪個server寫入的,在進行主主或主從的搭建中,都需要填寫;
b、auto-increment-increment:在數據庫應用,我們經常要用到唯一編號,以標識記錄。在MySQL中可通過數據列的AUTO_INCREMENT屬性來自動生成。為避免兩臺主數據庫生成的編碼重復了,所以需要設置該值,本案例用到兩臺服務器,所以auto-increment-increment值設為
2.3 復制其中的一臺服務器的數據庫到另外一臺服務器
因為環境是全新搭建的,所以兩個的環境都是一樣的,并需要進行數據的初始化工作;
需要的話可以通過以下步驟進行操作,以Mysql01為源數據庫進行同步,如下操作:
鎖定數據庫,查看狀態
mysql> FLUSH TABLES WITH READ LOCK; Query OK, 0 rows affected (0.00 sec)
mysql> SHOW MASTER STATUS; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000008 | 107 | | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec) |
顯示源數據庫處于8號binlog的107位置;
備份數據庫
[root@mysql01 ~]# mysqldump --user=root -p retail> /tmp/retail.sql Enter password: |
解鎖數據庫
mysql> UNLOCK TABLES;
在mysql02上面創建一個retail的數據庫,并進行導入操作;
mysql> create database retail; mysql -uroot -p retail < /tmp/retail.sql #導入retail數據庫 |
查看mysql02數據庫的狀態
mysql> SHOW MASTER STATUS; +------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +------------------+----------+--------------+------------------+ | mysql-bin.000009 | 107 | | | +------------------+----------+--------------+------------------+ 1 row in set (0.00 sec) |
顯示備份文件位于9號binlog的107位置;
2.4 進行主主的通信連接;
a、在mysql01上面進行用戶和binlog的確認
mysql> CHANGE MASTER TO MASTER_HOST='192.168.47.178',MASTER_USER='server02',MASTER_PASSWORD='server02', MASTER_LOG_FILE='mysql-bin.000008',MASTER_LOG_POS=107; |
b、在mysql02上面進行用戶和binlog的確認
mysql> CHANGE MASTER TO MASTER_HOST='192.168.47.179',MASTER_USER='server01',MASTER_PASSWORD='server01', MASTER_LOG_FILE='mysql-bin.000009',MASTER_LOG_POS=107; |
2.5 啟動服務,在mysql01和mysql02上面運行:start slave
2.6 檢查狀態
mysql> show slave status\G; *************************** 1. row *************************** Slave_IO_State: Waiting for master to send event Master_Host: 192.168.47.149 Master_User: server2 Master_Port: 3306 Connect_Retry: 60 Master_Log_File: mysql-bin.000008 Read_Master_Log_Pos: 107 Relay_Log_File: mysql02-relay-bin.000015 Relay_Log_Pos: 253 Relay_Master_Log_File: mysql-bin.000008 Slave_IO_Running: Yes Slave_SQL_Running: Yes Replicate_Do_DB: retail Replicate_Ignore_DB: 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: 107 Relay_Log_Space: 411 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 Last_IO_Errno: 0 Last_IO_Error: Last_SQL_Errno: 0 Last_SQL_Error: Replicate_Ignore_Server_Ids: Master_Server_Id: 1 |
Slave_IO_Running: Yes
Slave_SQL_Running: Yes 表示主主配置完成;
三、測試
在mysql02上面創建一個表
在mysql01上面進行查看
經過驗證主主同步成功搭建;
到此,相信大家對“MYSQL主主復制的搭建過程”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。