jxwjq 发表于 2018-9-29 13:28:44

mysql实现ssl主从安全连接案例

  实现基于SSL\RSA安全连接的主从复制
  测试环境:
  主机
  IP
  Server-id
  Master
  192.168.159.128
  1
  Slave
  192.168.159.129
  2
  切换目录到bin下

  在主服务器中创建ssl文件

  ssl创建命令:
  mysql_ssl_rsa_setup --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
  查看data目录里是否生成ssl文件

  查看错误日志:mysqld.err

  添加权限给获取私钥

  修改后权限重启服务,查看错误日志就不会有报错信息了
  查看数据库支不支持ssl安全连接,下面yes两项为可以,如果不是yes说明有问题

  创建授权用户


  授权命令:grant replication slave on *.* to 'rep'@'192.168.159.%'>  开启二进制日志,重启mysql服务

  查看主mysql的状态

  配置防火墙允许mysql服务3306端口号通过

  在从服务器上配置mysql文件/etc/my.cnf 注意server_id必须唯一,不能与其他mysql主机冲突

  在主服务器颁发证书给从服务器
图中内容如下:
  scp ca.pem client-cert.pem client-key.pem root@192.168.159.129:/usr/local/mysql/data/
  查看给从服务器的证书 添加读取权限

  之后修改/etc/my.cnf文件添加参数

  重启mysql服务
  systemctlrestartmysqld
  查看mysql服务器是否支持ssl   如果不是yes看看错误日志,排查

  使用授权用户在从服务器上登录主服务器中,测试是否成功

  上图已经登录到主服务器登录格式:
  mysql --ssl-ca=ca.pem --ssl-cert=client-cert.pem --ssl-cert=client-cert.pem --ssl-key=client-key.pem -urep -p123 -h 192.168.159.128
  注:往下配置的时候要退出刚才使用rep登录的数据库,报错信息如下:

  配置主从服务器replicate,在从服务器中配置

  命令如下:
  change master to
  master_host='192.168.159.128',
  master_user='rep',
  master_password='123',
  master_log_file='mysql_bin.000002',
  master_log_pos=154,
  master_ssl=1,
  master_ssl_ca='/usr/local/mysql/data/ca.pem',
  master_ssl_cert='/usr/local/mysql/data/client-cert.pem',
  master_ssl_key='/usr/local/mysql/data/client-key.pem';
  启用从服务器,查看从的状态是否为yes

  测试在主服务器上创建数据库、表、插入数据,从服务器是否同步

  查看从服务器是否同步

  此时查看data目录里面就会有之前在/etc/my.cnf参数指定的文件


页: [1]
查看完整版本: mysql实现ssl主从安全连接案例