mysql主從服務器基於ssl實現過程
建主從服務器
1、主服務器編輯配置文件/etc/my.cnf
在[mysqld]添加如下內容
Logbin=mysql_bin
Server-id=1
2、從服務器編輯配置文件/etc/my.cnf
在[mysqld]添加如下內容
#Logbin=mysql_bin 註釋二進制日誌,不需要
Server-id=11 //主從服務器server-id不能相同,否則在主主架構上可能出現循環
Skip-slave-start=1 //讓從服務器啓動時不自動啓動兩個線程,sql線程,I/0線程
Relay-log=relay-bin //從服務器啓動中繼日誌,並起名
Relay-log-index=relay-bin.index //從服務器中繼日誌的索引
3、主服務器上建複製用戶
grant replication slave,replication client on *.* to repl@'172.16.23.2' identified by ' repl';
flush privilege;
4、從服務器:指定主服務器是誰
Mysql>change master to master_host='172.16.23.1',master_user='rep1',master_password='repl';
--àstart slave;
-àshow slave status\G; //查看關態
如果是下面兩行:Slave_IO_Running: Yes
則成功 Slave_SQL_Running: Yes
二、mysql主從服務器基於ssl實現
1、主服務器上建立ca
cd /etc/pki/CA
vim ../tls/openssl.cnf
(umask 077;openssl genrsa 1024>private/cakey.pem)
openssl req -new -x509 -key private/cakey.pem -out cacert.pem
mkdir newcerts certs crl
touch index.txt
echo 01>serial
echo 01>crlnumber
2、主服務器上給自已建證書
cd /tmp/ssl/
(umask 077;openssl genrsa 1024 > httpd.key)
openssl req -new -key httpd.key -out httpd.csr
openssl ca -in httpd.csr -out httpd.crt
3、主服務器上證書建好,編緝主配置文件/etc/my.cnf
[mysqld]
ssl-ca = /etc/pki/CA/cacert.pem //ca證書
ssl-cert=/tmp/ssl/httpd.crt //主服務器上的證書
ssl-key=/tmp/ssl/httpd.key //主服務器上的私鑰
4、從服務器上建證書
cd /tmp/ssl/
(umask 077;openssl genrsa 1024 > slave.key)
openssl req -new -key slave.key -out slave.csr
openssl ca -in slave.csr -out slave.crt
5、從服務器編緝配置文件/etc/my.cnf
[client]
ssl-ca = /etc/pki/CA/cacert.pem
ssl-cert=/tmp/ssl/slave.crt
ssl-key=/tmp/ssl/slave.key
6、主從服務器從新啓動進行驗證
Service mysqld restart