MySQL配置SSL主从复制

 更新时间:2019年01月01日 09:45:25   作者:浮生凤年  
本文给大家分享的是如何给mysql配置SSL主从复制的具体方法,分别给出了5.6和5.7两个版本的实例,希望大家能够喜欢

MySQL5.6 创建SSL文件方法

官方文档:https://dev.mysql.com/doc/refman/5.6/en/creating-ssl-files-using-openssl.html#creating-ssl-files-using-openssl-unix-command-line

Create clean environment

mkdir /home/mysql/mysqlcerts && cd /home/mysql/mysqlcerts

Create CA certificate

openssl genrsa 2048 > ca-key.pem
openssl req -new -x509 -nodes -days 3600 -key ca-key.pem -out ca.pem

Create server certificate, remove passphrase, and sign it

server-cert.pem = public key, server-key.pem = private key
openssl req -newkey rsa:2048 -days 3600 -nodes -keyout server-key.pem -out server-req.pem
openssl rsa -in server-key.pem -out server-key.pem
openssl x509 -req -in server-req.pem -days 3600 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out server-cert.pem

Create client certificate, remove passphrase, and sign it

client-cert.pem = public key, client-key.pem = private key
openssl req -newkey rsa:2048 -days 3600  -nodes -keyout client-key.pem -out client-req.pem
openssl rsa -in client-key.pem -out client-key.pem
openssl x509 -req -in client-req.pem -days 3600 -CA ca.pem -CAkey ca-key.pem -set_serial 01 -out client-cert.pem
openssl verify -CAfile ca.pem server-cert.pem client-cert.pem
server-cert.pem: OK
client-cert.pem: OK

MySQL5.7 创建SSL文件方法

官方文档:https://dev.mysql.com/doc/refman/5.7/en/creating-ssl-rsa-files-using-mysql.html

mkdir -p  /home/mysql/mysqlcerts
/usr/local/mysql-5.7.21-linux-glibc2.12-x86_64/bin/mysql_ssl_rsa_setup  --datadir=/home/mysql/mysqlcerts/

主库创建SSL后进行配置

从库 192.168.1.222

mkdir -p  /home/mysql/mysqlcerts

主库

chown -R mysql.mysql  /home/mysql/mysqlcerts/
scp ca.pem client-cert.pem client-key.pem root@192.168.1.222:/home/mysql/mysqlcerts/

主库授权

GRANT REPLICATION SLAVE ON *.* TO 'repl'@'192.168.1.222' identified by '' require ssl;

主库 my.cnf

#SSL
ssl-ca=/home/mysql/mysqlcerts/ca.pem
ssl-cert=/home/mysql/mysqlcerts/server-cert.pem
ssl-key=/home/mysql/mysqlcerts/server-key.pem

restart mysql

从库

chown -R mysql.mysql  /home/mysql/mysqlcerts/

my.cnf

ssl-ca=/home/mysql/mysqlcerts/ca.pem
ssl-cert= /home/mysql/mysqlcerts/client-cert.pem
ssl-key= /home/mysql/mysqlcerts/client-key.pem

创建复制:

change master to master_host='',master_user='',master_password='',master_log_file='mysql-bin.000001',master_log_pos=154,   master_ssl=1, master_ssl_ca='/home/mysql/mysqlcerts/ca.pem', master_ssl_cert='/home/mysql/mysqlcerts/client-cert.pem',  master_ssl_key='/home/mysql/mysqlcerts/client-key.pem' ,MASTER_CONNECT_RETRY=10;

验证:
主库配置SSL认证后,客户端默认以SSL方式登录

mysql -utest -h192.168.1.223 -ptest -P3307  

(该账号不论是否配置require ssl 均能登录)

不以SSL方式登录命令为:

mysql -utest -h192.168.1.223 -ptest -P3307 --ssl-mode=DISABLED   

(如该账号配置了require ssl 则无法登录)

相关文章

  • MySQL定时执行脚本(计划任务)命令实例

    MySQL定时执行脚本(计划任务)命令实例

    在mysql中我们可以直接进行一些参数设置让它成定时为我们执行一些任务了,这个虽然可以使用windows或者linux中的计划任务实现,但是mysql本身也能完成
    2013-10-10
  • sql中select into和insert select的用法小结

    sql中select into和insert select的用法小结

    在工作中,我们经常需要备份表,本文主要介绍了sql中select into和insert select的用法小结,具有一定的参考价值,感兴趣的可以了解一下
    2024-08-08
  • mysql处理添加外键时提示error 150 问题的解决方法

    mysql处理添加外键时提示error 150 问题的解决方法

    当你试图在mysql中创建一个外键的时候,这个出错会经常发生,这是非常令人沮丧的
    2011-11-11
  • centos7安装mysql并jdbc测试教程

    centos7安装mysql并jdbc测试教程

    这篇文章主要为大家详细介绍了centos7安装mysql并jdbc测试教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • MYSQL事务教程之Yii2.0商户提现功能

    MYSQL事务教程之Yii2.0商户提现功能

    这篇文章主要给大家介绍了关于MYSQL事务教程之Yii2.0商户提现功能的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • mysql之key和index的区别及创建删除索引方式

    mysql之key和index的区别及创建删除索引方式

    这篇文章主要介绍了mysql之key和index的区别及创建删除索引方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-12-12
  • 有关mysql中ROW_COUNT()的小例子

    有关mysql中ROW_COUNT()的小例子

    mysql中的ROW_COUNT()可以返回前一个SQL进行UPDATE,DELETE,INSERT操作所影响的行数
    2013-02-02
  • mysql8查看锁信息

    mysql8查看锁信息

    MYSQL中有一个重要的特性就是锁,下面这篇文章主要给大家介绍了关于mysql8查看锁信息的相关资料,文中通过图文介绍的非常详细,需要的朋友可以参考下
    2023-06-06
  • SSM实现mysql数据库账号密码密文登录功能

    SSM实现mysql数据库账号密码密文登录功能

    这篇文章主要介绍了SSM实现mysql数据库账号密码密文登录功能,本文分为三步给大家介绍的非常详细,具有一定的参考借鉴价值 ,需要的朋友可以参考下
    2019-08-08
  • mysql出现ERROR 1819 (HY000)的解决方法

    mysql出现ERROR 1819 (HY000)的解决方法

    这篇文章主要为大家详细介绍了mysql出现ERROR 1819 (HY000)的解决方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-10-10

最新评论