最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql主從復制部署過程解讀

 更新時間:2026年01月27日 10:27:12   作者:楊了個楊8982  
MySQL主從復制通過GTID實現(xiàn)主數(shù)據(jù)庫變更同步到從數(shù)據(jù)庫,適用于讀寫分離、高可用性和數(shù)據(jù)備份,配置步驟包括環(huán)境準備、主從服務器配置、其他配置等

MySQL 主從復制是將主數(shù)據(jù)庫的變更自動同步到從數(shù)據(jù)庫的過程,常用語讀寫分離、高可用性和數(shù)據(jù)備份。

GTID(全局事務標識符)是 MySQL 5.6 引入的特性,用于唯一標識每一個事務。

在主從復制中使用 GTID 可以簡化復制配置,提高可靠性,避免傳統(tǒng)復制中常見的位點偏移問題。

1.環(huán)境準備

確保主從服務器已安裝相同版本的 MySQL,并能通過網(wǎng)絡互相訪問。

# 檢查 MySQL 版本
mysql -V

2.配置主服務器

(1)編輯主服務器的配置文件(通常是 /etc/my.cnf 或 /etc/mysql/mysql.conf.d/mysqld.cnf)

[mysqld]
server-id = 1                 # 唯一標識,建議使用IP地址的最后一個數(shù)
log-bin = mysql-bin           # 啟用二進制日志
gtid_mode = ON
enforce_gtid_consistency = ON
log_slave_updates = ON
binlog_format = ROW

(2)重啟 MySQL 服務并驗證配置

sudo systemctl restart mysql
mysql -e "SHOW VARIABLES LIKE 'gtid_mode';"  # 應顯示 ON
mysql -e "SHOW VARIABLES LIKE 'enforce_gtid_consistency';"  # 應顯示 ON

(3)創(chuàng)建復制用戶

CREATE USER 'repl_user'@'%' IDENTIFIED BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
FLUSH PRIVILEGES;

3.配置從服務器

(1)編輯從服務器的配置文件

[mysqld]
server-id = 2                 # 唯一標識,不能與主庫重復
log-bin = mysql-bin           # 啟用二進制日志
read-only = 1                 # 從庫設置為只讀(可選)
gtid_mode = ON
enforce_gtid_consistency = ON
log_slave_updates = ON
binlog_format = ROW

(2)重啟 MySQL 服務

sudo systemctl restart mysql

(3)連接從服務器到主服務器

在從服務器上執(zhí)行以下命令,配置主從關系:
CHANGE MASTER TO
MASTER_HOST='主服務器IP',
MASTER_USER='repl_user',
MASTER_PASSWORD='password',
MASTER_AUTO_POSITION = 1;  # 使用 GTID 自動定位

START SLAVE;

SHOW SLAVE STATUS\G;    #檢查 IO 和 SQL 線程狀態(tài),確認從服務器是否落后于主服務器
檢查以下兩個狀態(tài)是否均為 Yes:
Slave_IO_Running: Yes
Slave_SQL_Running: Yes
Seconds_Behind_Master: 0

4.其他配置

(1)MySQL 啟用安全連接(MySQL 8.0)

# step 1 在主庫和從庫生成 SSL 證書
# 在主庫和從庫分別執(zhí)行(使用相同的 CA)
mkdir /etc/mysql/ssl && cd /etc/mysql/ssl
openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -nodes -days 3650 -key ca-key.pem -out ca.pem
openssl req -newkey rsa:2048 -days 3650 -nodes -keyout server-key.pem -out server-csr.pem
openssl x509 -req -in server-csr.pem -days 3650 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem

# step 2 配置主庫 my.cnf
[mysqld]
ssl-ca=/etc/mysql/ssl/ca.pem
ssl-cert=/etc/mysql/ssl/server-cert.pem
ssl-key=/etc/mysql/ssl/server-key.pem

# step 3 配置從庫 my.cnf
[mysqld]
ssl-ca=/etc/mysql/ssl/ca.pem
ssl-cert=/etc/mysql/ssl/server-cert.pem
ssl-key=/etc/mysql/ssl/server-key.pem

# step 4 重啟主從庫服務
systemctl restart mysql

# step 5 創(chuàng)建用戶
# 創(chuàng)建使用舊認證方式的復制用戶
-- 在主庫執(zhí)行
CREATE USER 'repl_user'@'%' IDENTIFIED WITH mysql_native_password BY 'password';
GRANT REPLICATION SLAVE ON *.* TO 'repl_user'@'%';
FLUSH PRIVILEGES;

# 修改 MySQL 用戶認證方式
ALTER USER 'yang'@'%' IDENTIFIED WITH mysql_native_password BY 'your_password';
FLUSH PRIVILEGES;

(2)禁用主庫的 SSL 要求

[mysqld]
require_secure_transport = OFF  # 關閉強制 SSL

(3) 傳統(tǒng)方式配置主從

-- 從庫執(zhí)行
CHANGE MASTER TO
  MASTER_HOST='主庫IP',
  MASTER_USER='repl_user',
  MASTER_PASSWORD='password',
  MASTER_PORT=3306,
  MASTER_LOG_FILE='主庫binlog文件',
  MASTER_LOG_POS=主庫binlog位置;
START SLAVE;

(4)其他命令

stop slave;        #停止復制從庫
reset slave;        #刪除從庫配置
reset master;        #刪除主庫配置
SHOW MASTER STATUS;    #查詢當前主庫的 binlog 文件和位置

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

最新評論

合川市| 博客| 平乐县| 革吉县| 马边| 奈曼旗| 清远市| 准格尔旗| 祁门县| 江华| 星子县| 凌云县| 和平区| 扬州市| 龙口市| 克什克腾旗| 浑源县| 高台县| 辽中县| 弥渡县| 都昌县| 清镇市| 大关县| 龙山县| 西吉县| 明光市| 临桂县| 绥化市| 清徐县| 长治县| 延津县| 禹州市| 宁武县| 铜鼓县| 新巴尔虎左旗| 阳西县| 阳原县| 牡丹江市| 南康市| 灌云县| 望都县|