小生博客:http://xsboke.blog.51cto.com
專注于為中小企業(yè)提供成都做網(wǎng)站、成都網(wǎng)站設(shè)計服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)興山免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了上1000家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。
-------謝謝您的參考,如有疑問,歡迎交流
目錄:
--------MySQL-5.7.13簡介及安裝
--------配置mysql-5.7.13的ssl加密傳輸
--------基于SSL加密傳輸實現(xiàn)mysql-5.7.13的主從復(fù)制
一、 Mysql5.7.13簡介
1. Mysql5.7的主要優(yōu)化
mysql5.7原生支持centos7.*版本的systemd
更好的性能:對于多核CPU、固態(tài)硬盤、鎖有著更好的優(yōu)化
更好的InnoDB存儲引擎
mysql5.6版本之后開始支持多線程去實現(xiàn)主從復(fù)制
新增sys庫:以后這會是DBA訪問最頻繁的庫
更好的優(yōu)化器:優(yōu)化器代碼重構(gòu)的意義將在這個版本及以后的版本中帶來巨大的改進,Oracle官方正在解決MySQL之前最大的難題原生JSON類型的支持(JavaScript Object Notation)
注:JSON(JavaScriptObject Notation) 是一種輕量級的數(shù)據(jù)交換格式。JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習(xí)慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時也易于機器解析和生成(一般用于提升網(wǎng)絡(luò)傳輸速率)。
1) JSON 語法是 JavaScript 對象表示語法的子集。
數(shù)據(jù)在鍵值對中
數(shù)據(jù)由逗號分隔
花括號保存對象
方括號保存數(shù)組
用JSON編寫的文件,可以代替.yaml格式的文件。(docker kubernetes中用的到,創(chuàng)建RC。)
2. 在centos7.*安裝mysql5.7的基本流程
1) Centos7.*默認(rèn)安裝了mariadb-libs數(shù)據(jù)庫,需要卸載
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庫是必需的,mysql源碼中用到了C++的Boost庫,要求必須安裝boost1.59.0或以上版本
GCC是Linux下的C語言編譯工具,mysql源碼編譯完全由C和C++編寫,所以必須安裝GCC
bison:Linux下C/C++語法分析器
ncurses:字符終端處理庫
4) 創(chuàng)建mysql用戶和用戶組
5) 創(chuàng)建mysql需要的目錄
6) 安裝mysql5.7
7) 優(yōu)化數(shù)據(jù)庫執(zhí)行路徑并初始化數(shù)據(jù)庫
二、在centos7.2安裝mysql5.7并進行優(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)有沒有安裝默認(rèn)的數(shù)據(jù)庫
先刪除默認(rèn)安裝的mariadb-libs數(shù)據(jù)庫
Cmake(cmake需要gcc gcc-c++ make automake 的支持)
安裝ncurses
安裝bison
安裝boost
創(chuàng)建mysql需要的組和用戶
創(chuàng)建安裝路徑
3. 安裝mysql5.7.13
首先進行cmake配置
然后編譯并安裝
優(yōu)化mysql執(zhí)行路徑并設(shè)置授權(quán)并初始化mysql系統(tǒng)授權(quán)表
創(chuàng)建配置文件
配置mysql自動啟動
首先去查看錯誤日志
然后去查看/var/run下有沒有mysqld這個目錄
下面修改mysqld服務(wù)腳本
再次重啟mysql服務(wù)
修改mysql的默認(rèn)密碼
到此mysql安裝完畢
三、實現(xiàn)基于ssl安全連接的主從復(fù)制
1. 首先在master創(chuàng)建ssl.rsa文件
2. 關(guān)于密鑰權(quán)限出現(xiàn)的問題(必須解決)
重啟mysqld服務(wù)(有時會報錯,但是有時只能通過查看錯誤日志才能發(fā)現(xiàn)錯誤)
查看server-key.pem的權(quán)限
修改權(quán)限并重啟mysqld
再次查看mysqld錯誤日志
3. 登錄mysql查看是否支持了ssl
4. 在master生成一個用于mysql主從復(fù)制的賬號
5. 在master上啟動二進制文件并重啟服務(wù)
6. 查看master的狀態(tài)
需要讓從知道應(yīng)該從master的什么位置開始進行主從復(fù)制
7. 修改slave的my.cfg文件指定中繼日志及中繼日志清單的存放位置
8. 將master生成的證書傳送給slave
9. 設(shè)置client-key.pem的r權(quán)限
10. 在slave的配置文件中添加證書和密鑰對存放的位置
重啟后最好查看一下mysql的錯誤日志,是否出現(xiàn)了錯誤信息
11. 查看ssl是否被支持并進行測試
登錄slave的數(shù)據(jù)庫
測試ssl連接是否成功
12. Mysql5.7的每個服務(wù)器都擁有一個獨一的UUID號(擴展知識)
13. 在slave設(shè)置同步并且啟用從功能
14. 測試
首先在master創(chuàng)建數(shù)據(jù)庫和表并插入數(shù)據(jù)
然后在slave查看數(shù)據(jù)是否同步