新聞中心
mysql復制是一個允許來自一個數(shù)據(jù)庫服務器的數(shù)據(jù)自動復制到一個或多個服務器的過程。

創(chuàng)新互聯(lián)是少有的成都網(wǎng)站設計、網(wǎng)站制作、營銷型企業(yè)網(wǎng)站、微信小程序定制開發(fā)、手機APP,開發(fā)、制作、設計、買友情鏈接、推廣優(yōu)化一站式服務網(wǎng)絡公司,于2013年開始,堅持透明化,價格低,無套路經(jīng)營理念。讓網(wǎng)頁驚喜每一位訪客多年來深受用戶好評
MySQL支持許多復制拓撲,其中主/從拓撲是一個最著名的拓撲之一,其中一個數(shù)據(jù)庫服務器充當主服務器,而一個或多個服務器充當從服務器。默認情況下,復制是異步的,其中主服務器將描述數(shù)據(jù)庫修改的事件發(fā)送到其二進制日志,并且從服務器在準備好時請求事件。
此類復制拓撲最適合部署用于讀取擴展的只讀副本,用于災難恢復和分析作業(yè)的實時數(shù)據(jù)庫備份。
必要條件
此示例假設您有兩臺運行ubuntu 18.04的服務器,它們可以通過專用網(wǎng)絡相互通信。如果您的托管服務提供商不提供私有IP地址,您可以使用公共IP地址并配置防火墻,以允許端口3306上的流量僅來自可信來源。
此示例中的服務器具有以下IP:
Master IP(主服務器IP): 192.168.100.190
Slave IP(從服務器IP): 192.168.100.236
安裝MySQL
默認的Ubuntu 18.04存儲庫包含MySQL 5.7版。 為避免出現(xiàn)任何問題,最好在兩臺服務器上安裝相同的MySQL版本。
在Master服務器上安裝MySQL:
sudo apt-get update
sudo apt-get install mysql-server
使用相同的命令在Slave服務器上安裝MySQL:
sudo apt-get update
sudo apt-get install mysql-server
配置主服務器
第一步是配置主MySQL服務器。 我們將進行以下更改:
- 將MySQL服務器設置為偵聽專用IP
- 設置唯一的服務器ID
- 啟用二進制日志記錄
為此,請打開MySQL配置文件并取消注釋或設置以下內(nèi)容:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
master:/etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.100.190
server-id = 1
log_bin = /var/log/mysql/mysql-bin.log
完成后,重新啟動MySQL服務以使更改生效
sudo systemctl restart mysql
下一步是創(chuàng)建一個新的復制用戶。 鍵入以下內(nèi)容以root用戶身份登錄MySQL服務器:
sudo mysql
在MySQL提示符內(nèi),運行以下SQL查詢,這些查詢將創(chuàng)建副本用戶并向用戶授予REPLICATION SLAVE權(quán)限:
CREATE USER 'replica'@'192.168.100.236' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.100.236';
確保使用從屬IP地址更改IP。 您可以根據(jù)需要為用戶命名。
在仍然在MySQL提示符內(nèi)時,執(zhí)行以下命令將打印二進制文件名和位置。
SHOW MASTER STATUS\G
輸出:
*************************** 1. row ***************************
File: mysql-bin.000001
Position: 629
Binlog_Do_DB:
Binlog_Ignore_DB:
Executed_Gtid_Set:
1 row in set (0.00 sec)
記下文件名'mysql-bin.000001'和位置'629'。 配置從屬服務器時,您將需要這些值。 您的服務器上的這些值可能會有所不同。
配置從屬服務器
與上面的主服務器一樣,我們將對從服務器進行以下更改:
- 將MySQL服務器設置為偵聽專用IP
- 設置唯一的服務器ID
- 啟用二進制日志記錄
打開MySQL配置文件并編輯以下行:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
slave:/etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.100.236
server-id = 2
log_bin = /var/log/mysql/mysql-bin.log
重啟MySQL服務:
sudo systemctl restart mysql
下一步是配置從服務器用于連接主服務器的參數(shù)。 登錄MySQL shell:
sudo mysql
首先,停止slave線程:
STOP SLAVE;
運行以下查詢,該查詢將設置從服務器來復制主服務器:
CHANGE MASTER TO
MASTER_HOST='192.168.100.190',
MASTER_USER='replica',
MASTER_PASSWORD='replica_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=629;
確保使用正確的IP地址,用戶名。 和密碼。 日志文件名稱和位置必須與從主服務器獲取的值相同。
完成后,啟動從線程。
START SLAVE;
測試配置
此時,您應該有一個正常工作的主/從復制設置。
要驗證一切是否按預期工作,我們將在主服務器上創(chuàng)建一個新數(shù)據(jù)庫:
sudo mysql
CREATE DATABASE replicatest;
登錄到從屬MySQL shell:
sudo mysql
列出數(shù)據(jù)庫:
SHOW DATABASES;
您會注意到在主服務器上創(chuàng)建的數(shù)據(jù)庫是在從服務器上復制的:
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| replicatest |
| sys |
+--------------------+
5 rows in set (0.00 sec)
總結(jié)
如果您有任何疑問,請隨時發(fā)表評論。
分享標題:如何在Ubuntu18.04上配置MySQL主從復制
網(wǎng)站鏈接:http://m.5511xx.com/article/cogdesd.html


咨詢
建站咨詢
