centos7二進位制安裝MySQL5.7並且做主從複製
centos7
二進位制安裝MySQL5.7
1、先解除安裝掉mariadb
把從官網下載下來的二進位制包解壓
官方二進位制安裝包位置:https://dev.mysql.com/downloads/mysql/
解壓完成之後移動到/usr/local下並取名叫mysql
建立使用者和組
建立資料庫資料夾(data)
2、更改換將變數
3、修改my.cnf檔案
4、把啟動指令碼放到/etc/init.d/ 改名叫mysqld 並給可執行許可權
5、把mysql路徑下更改屬主屬組
6、初始化資料庫
直接啟動就好了
7、查詢mysql密碼並登陸修改
SSL
1)在主 mysql 建立 SSL/RSA 檔案
2、給server-key.pem和client-key.pem讀的許可權
重啟 mysql 服務
登入 mysql,執行 mysql> show variables like '%ssl%';
從上圖可以看到 mysql 支援了 ssl 安全連線
注:啟用 mysql 支援 ssl 安全連線主要用於 mysql 主從複製(區域網可以非 ssh 連線即明文
複製,但 internet 複製建議採用 ssl 連線)
在主 mysql 上的操作完成,再生成一個複製帳號:REQUIRE SSL
在主 mysql 上啟用二進位制日誌並重啟 mysql 服務
重啟 mysql 服務
檢視主 mysql 的狀態
注:要記住上圖所顯示的 file 和 position 的值,配置從伺服器要用到防火牆允許 3306/tcp 通訊
接著就去從上配置
從 mysql 的/etc/my.cnf 檔案內容
注:server_id 要唯一,不能和其他 mysql 主機的重複
把主 mysql 生成的證書給了從伺服器
注:192.168.157.131 是從 mysql 的 IP 地址
檢視從 mysql 複製過來的證書
繼續在從上配置 SSL:修改/etc/my.cnf 檔案,新增如下內容
重啟 mysqld 服務
檢視 SSL 是否被支援:
那麼在配置主從複製之前可以在從 mysql 上用 SSL 連線主伺服器試試:
注:192.168.157.128 是主 mysql 的 ip 地址
SSL 測試連線成功,並且登入的 SSL 協議是: Cipher in use is DHE-RSA-AES256-SHA最後開始配置主從 replicate,登入從 mysql
在從上 change master to
啟用從
檢視從的狀態,以下兩個值必須為 yes,代表從伺服器能正常連線主伺服器
Slave_IO_Running:Yes
Slave_SQL_Running:Yes
測試:
在主 mysql 上:建立一些東西
從伺服器上
以上同步成功。
總結:
SSL(Secure SocketsLayer 安全套接層),及其繼任者傳輸層安全(Transport Layer Security,TLS)是為網路通訊提供安全及資料完整性的一種安全協議。複製預設是明文進行傳輸的,通過SSL 加密可以大大提高資料的安全性。
(以上做法均為個人經驗,如有瑕疵請大神指點)