MySql基于ssl安全連接的主從復制
一、設(shè)備環(huán)境
centos7.2 兩臺
MySQL 5.7
MySQL 5.7 主要特性:
原生支持Systemd
更好的性能:對于多核CPU、固態(tài)硬盤、鎖有著更好的優(yōu)化
更好的InnoDB存儲引擎
更為健壯的復制功能:復制帶來了數(shù)據(jù)完全不丟失的方案,傳統(tǒng)金融客戶也可以選擇使用MySQL數(shù)據(jù)庫。
新增sys庫:以后這會是DBA訪問最頻繁的庫
更好的優(yōu)化器:優(yōu)化器代碼重構(gòu)的意義將在這個版本及以后的版本中帶來巨大的改進,Oracle官方正在解決MySQL之前最大的難題原生JSON類型的支持(JavaScript Object Notation)
注:JSON(JavaScript Object Notation) 是一種輕量級的數(shù)據(jù)交換格式。JSON采用完全獨立于語言的文本格式,但是也使用了類似于C語言家族的習慣(包括C、C++、C#、Java、JavaScript、Perl、Python等)。這些特性使JSON成為理想的數(shù)據(jù)交換語言。易于人閱讀和編寫,同時也易于機器解析和生成(一般用于提升網(wǎng)絡(luò)傳輸速率)。
JSON 語法是 JavaScript 對象表示語法的子集。
l 數(shù)據(jù)在鍵值對中
l 數(shù)據(jù)由逗號分隔
l 花括號保存對象
l 方括號保存數(shù)組
二、實現(xiàn)基于ssl安全連接的主從復制
1)在主mysql創(chuàng)建SSL/RSA文件
給server-key.pem權(quán)限
登錄mysql,執(zhí)行mysql>show variables like'%ssl%';
在主mysql上的操作完成,再生成一個復制帳號:REQUIRE SSL
在主mysql上啟用二進制日志并重啟mysql服務(wù)
查看主mysql的狀態(tài)
注:要記住上圖所顯示的file和position的值,配置從服務(wù)器要用到
防火墻允許3306/tcp通信
2)接著就去從上配置
從mysql的/etc/my.cnf文件內(nèi)容
把主mysql生成的證書給了從服務(wù)器
查看從mysql復制過來的證書
繼續(xù)在從上配置SSL:修改/etc/my.cnf文件,添加如下內(nèi)容
重啟mysqld服務(wù)
查看SSL是否被支持:
在配置主從復制之前可以在從mysql上用SSL連接主服務(wù)器試試:
SSL測試連接成功,并且登入的SSL協(xié)議是: Cipher in use is DHE-RSA-AES256-SHA
最后開始配置主從replicate, 登錄從mysql
在從上change master to
測試:
從服務(wù)器上

以上同步成功。
總結(jié):
SSL(Secure Sockets Layer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網(wǎng)絡(luò)通信提供安全及數(shù)據(jù)完整性的一種安全協(xié)議。復制默認是明文進行傳輸?shù)模ㄟ^SSL加密可以大大提高數(shù)據(jù)的安全性。