当前位置:   article > 正文

mysql 基于ssl认证和基于ssl的主从复制_mysql ssl

mysql ssl

一,mysql 基于ssl认证

ssl认证可以让让数据传输更加安全

实验环境: 两台centos 7.2,一台mysql服务器,一台客户端

为了方便实验,CA证书也在mysql服务器上

服务端操作(192.168.153.128)

1,先安装mariadb和OpenSSL

yum install mariadb-server openssl -y

2,配置证书

  1. cd /etc/pki/CA/
  2. touch index.txt
  3. echo 01 > serial
  4. (umask 066;openssl genrsa -out private/cakey.pem 4096)
openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3600

  1. mkdir /var/lib/mysql/ssl                #创建mysql的私钥等的目录
  2. cd /var/lib/mysql/ssl
  3. (umask 066;openssl genrsa -out mysql.key 2048)
openssl req -new -key mysql.key -days 365 -out mysql.csr

openssl ca -in mysql.csr -out mysql.crt -days 365

3,修改mariadb配置文件

  1. vim /etc/my.cnf
  2. #内容如下
  3. innodb_file_per_table=ON
  4. skip_name_resolve=ON
  5. ssl
  6. ssl-ca=/etc/pki/CA/cacert.pem
  7. ssl-cert=/var/lib/mysql/ssl/mysql.crt
  8. ssl-key=/var/lib/mysql/ssl/mysql.key

4,修改权限,否则ssl 会失败(可以通过log得知该信息)

setfacl -m u:mysql:rwx /var/lib/mysql/ssl/mysql.key

5,重启服务

6,授权一个需要ssl访问的用户

  1. grant all on *.* to 'xixi'@'192.168.153.129' identified by 'xixi' require ssl;
  2. flush privileges;

7,将配置文件复制到mysql客户端

  1. scp /etc/pki/CA/cacert.pem 192.168.153.129:/etc/mysqlssl/
  2. scp /var/lib/mysql/ssl/* 192.168.153.129:/etc/mysqlssl/

mysql客户端操作

8,测试访问

yum install mariadb -y
mysql -uxixi -pxixi -h192.168.153.128 --ssl-ca=/etc/mysqlssl/cacert.pem --ssl-cert=/etc/mysqlssl/mysql.crt --ssl-key=/etc/mysqlssl/mysql.key

10,为了方便访问

也可以将ssl信息写在配置文件中

  1. vim /etc/my.cnf
  2. # 内容如下
  3. [mysql]
  4. ssl-ca=/etc/mysqlssl/cacert.pem
  5. ssl-cert=/etc/mysqlssl/mysql.crt
  6. ssl-key=/etc/mysqlssl/mysql.key

二, 基于ssl主从复制

实验环境:

两台mysql服务器

一台CA服务器

实验之前请先关闭防火墙和SELinux

实验如下:

1,先配置CA

2,配置主从服务器的mysql的key和公钥,然后在CA上签署证明(主从服务器配置相同)

3,将csr复制到CA上进行签证(主从都要做同样的操作),签完证之后连同CA的公钥一起复制到主从服务器

4,配置主服务的mysql相关信息

vim /etc/my.cnf

5,启动服务,发现有错误,如下,检查为权限问题

6,启动mysql成功后,检查ssl是否成功

7,授权

grant replication client,replication slave on *.* to 'repluser'@'192.168.153.%' identified by 'replpass';

8,查看binlog信息,记录binlog的文件和事件位置,为从服务器配置负责数据做准备

9,配置从服务器

vim /etc/my.cnf

10,启动从服务器,并开始连接主服务器

change master to master_host='192.168.153.128',master_user='repluser',master_password='replpass',master_log_file='master-log.000006',master_log_pos=499,master_ssl_ca='/etc/mysqlssl/cacert.pem',master_ssl_cert='/etc/mysqlssl/mysql.crt',master_ssl_key='/etc/mysqlssl/mysql.key';

10,查看数据同步状态

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/854875
推荐阅读
相关标签
  

闽ICP备14008679号