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

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

 更新時間:2016年11月23日 08:28:30   作者:運維部落  
在MySQL的主從復(fù)制中,其傳輸過程是明文傳輸,并不能保證數(shù)據(jù)的安全性,今天我們就來討論下linux系統(tǒng)中使用openssl實現(xiàn)mysql主從復(fù)制,有需要的小伙伴可以參考下

        證書準(zhǔn)備:

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準(zhǔn)備私鑰及證書申請文件 :

第一步:創(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ù)器

證書準(zhǔn)備動作到此結(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ù)制能夠有所幫助

相關(guān)文章

  • C++連接使用MySQL的方法

    C++連接使用MySQL的方法

    這篇文章主要為大家詳細介紹了C++連接使用MySQL的方法,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-07-07
  • Mysql大表添加字段失敗問題及解決

    Mysql大表添加字段失敗問題及解決

    這篇文章主要介紹了Mysql大表添加字段失敗問題及解決,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2024-04-04
  • Mysql多層子查詢示例代碼(收藏夾案例)

    Mysql多層子查詢示例代碼(收藏夾案例)

    這篇文章主要介紹了Mysql多層子查詢示例代碼,以收藏夾案例給大家詳細介紹,代碼簡單易懂,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-03-03
  • 詳解MySQL的半同步

    詳解MySQL的半同步

    這篇文章主要介紹了MySQL的半同步的相關(guān)資料,幫助大家更好的理解和學(xué)習(xí)使用MySQL數(shù)據(jù)庫,感興趣的朋友可以了解下
    2021-04-04
  • MySQL函數(shù)大全及用法示例分享

    MySQL函數(shù)大全及用法示例分享

    這篇文章主要介紹了MySQL的一些函數(shù)及用法示例,需要的朋友可以參考下
    2014-03-03
  • mysql-8.0.15-winx64 使用zip包進行安裝及服務(wù)啟動后立即關(guān)閉問題

    mysql-8.0.15-winx64 使用zip包進行安裝及服務(wù)啟動后立即關(guān)閉問題

    這篇文章主要介紹了mysql 使用zip包進行安裝以及服務(wù)啟動后立即關(guān)閉問題 ,本實例使用的mysql版本為mysql-8.0.15-winx64,需要的朋友可以參考下
    2019-05-05
  • MySQL 8.0.19支持輸入3次錯誤密碼鎖定賬戶功能(例子)

    MySQL 8.0.19支持輸入3次錯誤密碼鎖定賬戶功能(例子)

    這篇文章主要介紹了MySQL 8.0.19支持輸入3次錯誤密碼鎖定賬戶功能,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-01-01
  • MySQL如何使用視圖插入修改刪除數(shù)據(jù)

    MySQL如何使用視圖插入修改刪除數(shù)據(jù)

    視圖除了進行查詢記錄外,也可以利用視圖進行插入、更新、刪除記錄的操作,減少對基表中信息的直接操作,提高了數(shù)據(jù)的安全性,下面這篇文章主要給大家介紹了關(guān)于MySQL如何使用視圖插入修改刪除數(shù)據(jù)的相關(guān)資料,需要的朋友可以參考下
    2023-06-06
  • MySQL利用UNION連接2個查詢排序失效詳解

    MySQL利用UNION連接2個查詢排序失效詳解

    這篇文章主要給大家介紹了關(guān)于MySQL利用UNION連接2個查詢排序失效的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-12-12
  • MySQL導(dǎo)出ER圖為圖片或PDF的操作方法

    MySQL導(dǎo)出ER圖為圖片或PDF的操作方法

    這篇文章主要介紹了MySQL導(dǎo)出ER圖為圖片或PDF的操作方法,文章通過圖文結(jié)合的方式給大家講解的非常詳細,對大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-05-05

最新評論

安吉县| 濮阳市| 林州市| 怀柔区| 拜泉县| 蓬莱市| 石台县| 柳河县| 客服| 芮城县| 柳林县| 西乌珠穆沁旗| 眉山市| 紫金县| 白玉县| 大庆市| 云林县| 洪雅县| 安吉县| 类乌齐县| 云龙县| 巴中市| 抚松县| 榆树市| 嘉峪关市| 凤凰县| 定陶县| 诏安县| 平定县| 武汉市| 米脂县| 阜宁县| 蒙阴县| 四川省| 九龙城区| 商丘市| 宁晋县| 柳河县| 中江县| 正安县| 元谋县|