濮阳杆衣贸易有限公司

主頁 > 知識庫 > linux系統(tǒng)中使用openssl實現(xiàn)mysql主從復(fù)制

linux系統(tǒng)中使用openssl實現(xiàn)mysql主從復(fù)制

熱門標簽:如何辦理400客服電話 地圖標注百度競價 外呼系統(tǒng)線路經(jīng)常出問題嗎 西藏地圖標注改進點 外呼系統(tǒng)怎樣才能不封號 安陽手機自動外呼系統(tǒng)原理是什么 地圖標注專員入駐 地圖標注什么軟件好用 神行者百貨商場地圖標注

        證書準備:

CA證書:

第一步:創(chuàng)建CA私鑰

[root@localhost CA]# (umask 066;openssl genrsa -out /etc/pki/CA/private/cakey.pem 2048)

第二步:生成自簽證書

[root@localhost CA]# openssl req -new -x509 -key /etc/pki/CA/private/cakey.pem  -days 7300 -out /etc/pki/CA/cacert.pem

————————————————————————————–

mysql準備私鑰及證書申請文件 :

第一步:創(chuàng)建mysql私鑰:

[root@localhost ~]# (umask 066;openssl genrsa -out /var/lib/mysql/ssl/mysql.key 2048)

第二步:生成證書申請文件及發(fā)送給CA服務(wù)端

[root@localhost ~]# openssl req -new -key /var/lib/mysql/ssl/mysql.key -days 365 -out /var/lib/mysql/ssl/mysql.csr

注意:國家,省 ,公司名稱必須和CA一致

將證書申請文件發(fā)送至CA服務(wù)器

                ————————————————————————————–

在CA服務(wù)器端頒發(fā)證書:

[root@localhost CA]# openssl ca -in /tmp/mysql.csr -out /tmp/mysql.crt -days 365

附上查看證書中的信息命令:

openssl x509 -in /PATH/FROM/CERT_FILE -noout -text|subject|serial|dates

                ————————————————————————————–

將證書發(fā)送至mysql服務(wù)器

以及將CA的自簽證書發(fā)送至從服務(wù)器

證書準備動作到此結(jié)束

基于ssl功能實現(xiàn)主從復(fù)制,是主從雙方都需要互相驗證,即從服務(wù)器也要有自己的證書。

所以,按照上述流程,生成slave服務(wù)器的證書

           ================================================

        配置mysql服務(wù)端:

在主服務(wù)器端查看關(guān)于ssl有關(guān)的參數(shù)  及  主從復(fù)制–主服務(wù)器  的配置項:

MariaDB [(none)]> show variables like ‘%ssl%';

            

由于ssl功能配置項為全局配置參數(shù),所以 編輯 /etc/my.cnf 文件 :

由于是客戶端驗證服務(wù)端,所以只需要配置  ssl_cert(mysql服務(wù)器端的證書位置)、ssl_key(mysql私鑰位置)與ssl_ca(CA證書位置)即可

開啟服務(wù),并檢查:

                ————————————————————————————–

創(chuàng)建一個基于ssl功能,從服務(wù)器用于復(fù)制mysql主服務(wù)器數(shù)據(jù)庫的最小權(quán)限賬號:

MariaDB [(none)]> GRANT REPLICATION SLAVE,REPLICATION CLIENT ON *.* TO ‘slave1'@'10.1.35.25' IDENTIFIED BY ‘passwd' REQUIRE ssl ;    

查看binlog位置,并記錄,用于從服務(wù)器配置:

MariaDB [(none)]> SHOW MASTER LOGS;

               ================================================

從服務(wù)器配置:

編輯 /etc/my.cnf ,由于是從服務(wù)器,所以需要開啟中繼日志(relay_log),且server_id不應(yīng)與同一層面的mysql服務(wù)器相同

                                   

啟動mysql服務(wù),并檢查:

————————————————————————————–

配置從服務(wù)器,指向主服務(wù)器(這是是全局配置參數(shù),但是不建議寫在配置文件/etc/my.cnf 中,因為如果slave因意外宕機,在為了檢查數(shù)據(jù)完整性的情況下,再啟動mysql的時候,也會自動啟動復(fù)制功能,不利于排查錯誤)

MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='10.1.35.1′,MASTER_USER='slave1′,MASTER_PASSWORD='passwd',MASTER_LOG_FILE=' master-log.000025 ‘,MASTER_LOG_POS= 245 , MASTER_SSL =1, MASTER_SSL_CA ='/var/lib/mysql/ssl/cacert.pem', MASTER_SSL_CERT ='/var/lib/mysql/ssl/slave.crt', MASTER_SSL_KEY ='/var/lib/mysql/ssl/slave.key';


MariaDB [(none)]> START SLAVE;

                ================================================

驗證主從效果:

                ————————————————————————————–

主服務(wù)器創(chuàng)建數(shù)據(jù)庫 mydb

                               

                ————————————————————————————–

從服務(wù)器查看:

                          

                ================================================

    總結(jié):

復(fù)制時應(yīng)該注意的問題:

1、從服務(wù)設(shè)定為“只讀”;(雙主模式無需設(shè)置)

在從服務(wù)器啟動read_only,但僅對非SUPER權(quán)限的用戶有效;

阻止所有用戶:

mysql> FLUSH TABLES WITH READ LOCK;

2、盡量確保復(fù)制時的事務(wù)安全

在master節(jié)點啟用參數(shù):

sync_binlog = ON    #每次事務(wù)提交的時候,都立即將二進制日志時間都重內(nèi)存同步到磁盤中,能確保從服務(wù)器能立即得到事件,而且能保護本地數(shù)據(jù)安全

如果用到的是InnoDB存儲引擎:

innodb_flush_logs_at_trx_commit=ON      #在事務(wù)提交時,立即刷寫事務(wù)日志從內(nèi)存到磁盤上

innodb_support_xa=ON    #支持分布式事務(wù)

#這兩項啟動起來,能在一定程度上確保從服務(wù)器能夠立即得到主服務(wù)器的最新事件

3、從服務(wù)器意外中止時 盡量避免自動啟動復(fù)制線程

由于數(shù)據(jù)是重要的,服務(wù)器能意外終止的時間都是奇異的,所以,終止后不要讓從服務(wù)器自動啟動復(fù)制線程,等人工手動排查后才從新開啟復(fù)制線程;有可能復(fù)制線程復(fù)制到一半的時候出現(xiàn)意外,復(fù)制線程或許沒有這種功能—–不知道時候需要再次復(fù)制上次中斷的事件                

4、從節(jié)點:設(shè)置參數(shù)

每一個從服務(wù)器都會保存一個文件 relay-log-info,是記錄在主服務(wù)器上復(fù)制二進制日志的位置,以及本地中繼日志的位置,為避免產(chǎn)生繁忙的IO操作,這些參數(shù)都是先保存在內(nèi)存上的,到一定程度才會同步到磁盤上的, 所以不安全

sync_master_info=ON

sync_relay_log_info=ON

以上兩項為立即刷寫數(shù)據(jù)從內(nèi)存到磁盤

以上就是本文的全部內(nèi)容了,希望對大家熟悉mysql主從復(fù)制能夠有所幫助

您可能感興趣的文章:
  • MYSQL5.6.33數(shù)據(jù)庫主從(Master/Slave)同步安裝與配置詳解(Master-Linux Slave-windows7)
  • linux系統(tǒng)下實現(xiàn)mysql熱備份詳細步驟(mysql主從復(fù)制)
  • linux下指定mysql數(shù)據(jù)庫服務(wù)器主從同步的配置實例
  • Linux下MySQL數(shù)據(jù)庫的主從同步復(fù)制配置

標簽:貴港 AXB 萍鄉(xiāng) 阜陽 衡水 酒泉 張掖 雞西

巨人網(wǎng)絡(luò)通訊聲明:本文標題《linux系統(tǒng)中使用openssl實現(xiàn)mysql主從復(fù)制》,本文關(guān)鍵詞  linux,系統(tǒng),中,使用,openssl,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《linux系統(tǒng)中使用openssl實現(xiàn)mysql主從復(fù)制》相關(guān)的同類信息!
  • 本頁收集關(guān)于linux系統(tǒng)中使用openssl實現(xiàn)mysql主從復(fù)制的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    仪陇县| 鹤岗市| 恭城| 闸北区| 屯留县| 集贤县| 白沙| 铜梁县| 泰和县| 迭部县| 呼和浩特市| 牙克石市| 陇西县| 龙岩市| 雷山县| 汉沽区| 昭平县| 汽车| 武陟县| 增城市| 丁青县| 三河市| 偃师市| 贺州市| 连江县| 长兴县| 韶山市| 德州市| 右玉县| 开远市| 武陟县| 高淳县| 石河子市| 错那县| 双城市| 洱源县| 太谷县| 滁州市| 曲阜市| 淮北市| 鹿邑县|