MySQL主從複製使用SSL加密

環境:
 CentOS7.4
 CA主機一
 mysql主機兩臺
 數據庫:MariaDB-5.5

一、準備證書文件

1.生成CA自簽名證書

mkdir /etc/my.cnf.d/ssl
cd /etc/my.cnf.d/ssl
openssl genrsa 2048 > cakey.pem
chmod 600 cakey.pem
openssl req -new -x509 -key cakey.pem -days 3650 -out cacert.pem

MySQL主從複製使用SSL加密
2.生成master私鑰以及證書申請

openssl req -newkey rsa:2048 -days 365 -nodes -keyout master.key > master.csr

MySQL主從複製使用SSL加密

3.給master頒發證書

openssl x509  -req  -in master.csr -CA cacert.pem -CAkey cakey.pem  -set_serial 01 > master.crt

MySQL主從複製使用SSL加密

4.生成slave私鑰以及證書申請

openssl req -newkey rsa:2048 -days 365 -nodes -keyout slave.key > slave.csr

MySQL主從複製使用SSL加密
5.給slave頒發證書

openssl x509  -req  -in slave.csr -CA cacert.pem -CAkey cakey.pem -set_serial 02 > slave.crt

MySQL主從複製使用SSL加密
6.將證書文件分別分發給master和slave
Master:

MySQL主從複製使用SSL加密
Slave:
MySQL主從複製使用SSL加密

二、主庫配置

#修改/etc/my.cnf
#添加ssl等配置信息
MySQL主從複製使用SSL加密
創建從庫複製用戶,並僅允許通過ssl加密連接:

mysql> grant replication slave on *.* to 'repluser'@'192.168.1.%' identified by 'mysql' require ssl;

三、從庫配置

#修改/etc/my.cnf
#添加ssl等配置信息
MySQL主從複製使用SSL加密
配置連接主庫的信息:

change master to master_host='192.168.1.2',master_user='repluser',master_password='mysql',master_log_file='mariadb-bin.000001',master_log_pos=245,master_ssl=1;
start slave;
show slave status\G

MySQL主從複製使用SSL加密

四、測試主從是否同步

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章