mysql5.7:mysql安裝和基於SSL加密的主從復制(詳細剖析)
小生博客:http://xsboke.blog.51cto.com
小生 Q Q:1770058260
-------謝謝您的參考,如有疑問,歡迎交流
目錄:
--------mysql-5.7.13簡介及安裝
--------配置mysql-5.7.13的ssl加密傳輸
--------基於SSL加密傳輸實現mysql-5.7.13的主從復制
一、 Mysql5.7.13簡介
1. Mysql5.7的主要優化
mysql5.7原生支持centos7.*版本的systemd
更好的性能:對於多核CPU、固態硬盤、鎖有著更好的優化
更好的InnoDB
存儲引擎
mysql5.6版本之後開始支持多線程去實現主從復制
新增sys庫:以後這會是DBA訪問最頻繁的庫
更好的優化器:優化器代碼重構的意義將在這個版本及以後的版本中帶來巨大的改進,Oracle官方正在解決MySQL之前最大的難題原生JSON類型的支持(JavaScript Object Notation)
註:JSON(JavaScriptObject Notation) 是一種輕量級的數據交換格式。JSON采用完全獨立於語言的文本格式,但是也使用了類似於C語言家族的習慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數據交換語言。易於人閱讀和編寫,同時也易於機器解析和生成
(一般用於提升網絡傳輸速率)。
1) JSON 語法是 JavaScript 對象表示語法的子集。
數據在鍵值對中
數據由逗號分隔
花括號保存對象
方括號保存數組
用JSON編寫的文件,可以代替.yaml格式的文件。(docker kubernetes中用的到,創建RC。)
2. 在centos7.*安裝mysql5.7的基本流程
1) Centos7.*默認安裝了mariadb-libs數據庫,需要卸載
2) 確認內核版本和系統版本
3) 安裝依賴包
cmake:由於從MySQL5.5版本開始棄用了常規的
configure編譯方法,所以需要CMake編譯器,用於設置mysql的編譯參數。如:安裝目錄、數據存放目錄、字符編碼、排序規則等。
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) 創建mysql用戶和用戶組
5) 創建mysql需要的目錄
6) 安裝mysql5.7
7) 優化數據庫執行路徑並初始化數據庫
二、在centos7.2安裝mysql5.7並進行優化配置
1. 安裝文件準備
下載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. 首先安裝依賴包及創建mysql用戶、組和安裝目錄
確認系統有沒有安裝默認的數據庫
先刪除默認安裝的mariadb-libs數據庫
Cmake(cmake需要gcc gcc-c++ make automake 的支持)
安裝ncurses
安裝bison
安裝boost
創建mysql需要的組和用戶
創建安裝路徑
3. 安裝mysql5.7.13
首先進行cmake配置
然後編譯並安裝
優化mysql執行路徑並設置授權並初始化mysql系統授權表
創建配置文件
配置mysql自動啟動
首先去查看錯誤日誌
然後去查看/var/run下有沒有mysqld這個目錄
下面修改mysqld服務腳本
再次重啟mysql服務
修改mysql的默認密碼
到此mysql安裝完畢
三、實現基於ssl安全連接的主從復制
1. 首先在master創建ssl.rsa文件
2. 關於密鑰權限出現的問題(必須解決)
重啟mysqld服務(有時會報錯,但是有時只能通過查看錯誤日誌才能發現錯誤)
查看server-key.pem的權限
修改權限並重啟mysqld
再次查看mysqld錯誤日誌
3. 登錄mysql查看是否支持了ssl
4. 在master生成一個用於mysql主從復制的賬號
5. 在master上啟動二進制文件並重啟服務
6. 查看master的狀態
需要讓從知道應該從master的什麽位置開始進行主從復制
7. 修改slave的my.cfg文件指定中繼日誌及中繼日誌清單的存放位置
8. 將master生成的證書傳送給slave
9. 設置client-key.pem的r權限
10. 在slave的配置文件中添加證書和密鑰對存放的位置
重啟後最好查看一下mysql的錯誤日誌,是否出現了錯誤信息
11. 查看ssl是否被支持並進行測試
登錄slave的數據庫
測試ssl連接是否成功
12. Mysql5.7的每個服務器都擁有一個獨一的UUID號(擴展知識)
13. 在slave設置同步並且啟用從功能
14. 測試
首先在master創建數據庫和表並插入數據
然後在slave查看數據是否同步
本文出自 “小生blog” 博客,請務必保留此出處http://xsboke.blog.51cto.com/12096269/1922949
mysql5.7:mysql安裝和基於SSL加密的主從復制(詳細剖析)