1. 程式人生 > >centos7二進位制安裝MySQL5.7並且做主從複製

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 加密可以大大提高資料的安全性。


(以上做法均為個人經驗,如有瑕疵請大神指點)