溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

發(fā)布時(shí)間:2020-07-21 15:36:15 來(lái)源:網(wǎng)絡(luò) 閱讀:1042 作者:小生博客 欄目:數(shù)據(jù)庫(kù)

   小生博客:http://xsboke.blog.51cto.com

   

  

 

                             -------謝謝您的參考,如有疑問(wèn),歡迎交流


目錄:


--------mysql-5.7.13簡(jiǎn)介及安裝

--------配置mysql-5.7.13ssl加密傳輸

--------基于SSL加密傳輸實(shí)現(xiàn)mysql-5.7.13的主從復(fù)制



一、 Mysql5.7.13簡(jiǎn)介

  1. Mysql5.7的主要優(yōu)化

  • mysql5.7原生支持centos7.*版本的systemd

  • 更好的性能:對(duì)于多核CPU、固態(tài)硬盤、鎖有著更好的優(yōu)化

  • 更好的InnoDB存儲(chǔ)引擎

  • mysql5.6版本之后開始支持多線程去實(shí)現(xiàn)主從復(fù)制

  • 新增sys庫(kù):以后這會(huì)是DBA訪問(wèn)最頻繁的庫(kù)

  • 更好的優(yōu)化器:優(yōu)化器代碼重構(gòu)的意義將在這個(gè)版本及以后的版本中帶來(lái)巨大的改進(jìn),Oracle官方正在解決MySQL之前最大的難題原生JSON類型的支持(JavaScript Object Notation)

  • 注:JSON(JavaScriptObject Notation) 是一種輕量級(jí)的數(shù)據(jù)交換格式。JSON采用完全獨(dú)立于語(yǔ)言的文本格式,但是也使用了類似于C語(yǔ)言家族的習(xí)慣(包括C、C++C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語(yǔ)言。易于人閱讀和編寫,同時(shí)也易于機(jī)器解析和生成(一般用于提升網(wǎng)絡(luò)傳輸速率)。

    1) JSON 語(yǔ)法是 JavaScript 對(duì)象表示語(yǔ)法的子集。

       數(shù)據(jù)在鍵值對(duì)中
       數(shù)據(jù)由逗號(hào)分隔
       花括號(hào)保存對(duì)象
       方括號(hào)保存數(shù)組
JSON編寫的文件,可以代替.yaml格式的文件。(docker  kubernetes中用的到,創(chuàng)建RC。)

  2. 在centos7.*安裝mysql5.7的基本流程

   1)        Centos7.*默認(rèn)安裝了mariadb-libs數(shù)據(jù)庫(kù),需要卸載

   2)        確認(rèn)內(nèi)核版本和系統(tǒng)版本

   3)        安裝依賴包

  • cmake:由于從MySQL5.5版本開始棄用了常規(guī)的configure編譯方法,所以需要CMake編譯器,用于設(shè)置mysql的編譯參數(shù)。如:安裝目錄、數(shù)據(jù)存放目錄、字符編碼、排序規(guī)則等。

  • Boost  #MySQL 5.7.5開始Boost庫(kù)是必需的,mysql源碼中用到了C++Boost庫(kù),要求必須安裝boost1.59.0或以上版本

  • GCCLinux下的C語(yǔ)言編譯工具,mysql源碼編譯完全由CC++編寫,所以必須安裝GCC

  • bisonLinuxC/C++語(yǔ)法分析器

  • ncurses:字符終端處理庫(kù)

   4)        創(chuàng)建mysql用戶和用戶組

   5)        創(chuàng)建mysql需要的目錄

   6)        安裝mysql5.7

   7)        優(yōu)化數(shù)據(jù)庫(kù)執(zhí)行路徑并初始化數(shù)據(jù)庫(kù)

二、centos7.2安裝mysql5.7并進(jìn)行優(yōu)化配置

  1. 安裝文件準(zhǔn)備

   下載cmake-3.5.tar.gz:

   http://wwwNaNake.org/download/

   下載ncurses-5.9.tar.gz:

   ftp://ftp.gnu.org/gnu/ncurses/

   下載bison-3.0.4.tar.gz:http:

    //ftp.gnu.org/gnu/bison/

   下載mysql-5.7.13.tar.gz:

   wget http://cdn.mysql.com/Downloads/MySQL-5.7/mysql-5.7.13.tar.gz

   下載Boost_1_59_0.tar.gz:

   wget  

   http://nchc.dl.sourceforge.net/project/boost/boost/1.59.0/boost_1_59_0.tar.gz

  2. 首先安裝依賴包及創(chuàng)建mysql用戶、組和安裝目錄

    確認(rèn)系統(tǒng)有沒(méi)有安裝默認(rèn)的數(shù)據(jù)庫(kù)

    先刪除默認(rèn)安裝的mariadb-libs數(shù)據(jù)庫(kù)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    Cmakecmake需要gcc  gcc-c++  make automake  的支持)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

   安裝ncurses

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    

   安裝bison

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

   安裝boost

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

   創(chuàng)建mysql需要的組和用戶

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

   創(chuàng)建安裝路徑

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

  3. 安裝mysql5.7.13

    首先進(jìn)行cmake配置

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    然后編譯并安裝

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    優(yōu)化mysql執(zhí)行路徑并設(shè)置授權(quán)并初始化mysql系統(tǒng)授權(quán)表

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    創(chuàng)建配置文件

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    配置mysql自動(dòng)啟動(dòng)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    首先去查看錯(cuò)誤日志

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    然后去查看/var/run下有沒(méi)有mysqld這個(gè)目錄

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    下面修改mysqld服務(wù)腳本

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    再次重啟mysql服務(wù)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    修改mysql的默認(rèn)密碼

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    到此mysql安裝完畢

三、實(shí)現(xiàn)基于ssl安全連接的主從復(fù)制

  1. 首先在master創(chuàng)建ssl.rsa文件

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

  2. 關(guān)于密鑰權(quán)限出現(xiàn)的問(wèn)題(必須解決)

    重啟mysqld服務(wù)(有時(shí)會(huì)報(bào)錯(cuò),但是有時(shí)只能通過(guò)查看錯(cuò)誤日志才能發(fā)現(xiàn)錯(cuò)誤)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    查看server-key.pem的權(quán)限

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    修改權(quán)限并重啟mysqld

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    再次查看mysqld錯(cuò)誤日志

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

  3. 登錄mysql查看是否支持了ssl

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

  4. 在master生成一個(gè)用于mysql主從復(fù)制的賬號(hào)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

  5. 在master上啟動(dòng)二進(jìn)制文件并重啟服務(wù)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

  6. 查看master的狀態(tài)

    需要讓從知道應(yīng)該從master的什么位置開始進(jìn)行主從復(fù)制

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

  7. 修改slavemy.cfg文件指定中繼日志及中繼日志清單的存放位置

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

  8. 將master生成的證書傳送給slave

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

  9. 設(shè)置client-key.pemr權(quán)限

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

  10. 在slave的配置文件中添加證書和密鑰對(duì)存放的位置

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

     重啟后最好查看一下mysql的錯(cuò)誤日志,是否出現(xiàn)了錯(cuò)誤信息

 11. 查看ssl是否被支持并進(jìn)行測(cè)試

    登錄slave的數(shù)據(jù)庫(kù)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7) 

    測(cè)試ssl連接是否成功

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

  12. Mysql5.7的每個(gè)服務(wù)器都擁有一個(gè)獨(dú)一的UUID號(hào)(擴(kuò)展知識(shí))

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

  13. 在slave設(shè)置同步并且啟用從功能

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

  14. 測(cè)試

    首先在master創(chuàng)建數(shù)據(jù)庫(kù)和表并插入數(shù)據(jù)

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)

    然后在slave查看數(shù)據(jù)是否同步

    MySQL:安裝和基于SSL加密的主從復(fù)制(基于5.7)



向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI