• ADADADADAD

    MySQL配置SSL主从复制[ mysql数据库 ]

    mysql数据库 时间:2024-12-03 10:29:31

    作者:文/会员上传

    简介:

    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

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    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 -h292.168.1.223 -ptest -P3307

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

    不以SSL方式登录命令为:

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

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

    MySQL配置SSL主从复制.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysql主从复制