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