下文主要给大家带来mysql如何通过SSL实现主从复制,希望这些内容能够带给大家实际用处,这也是我编辑mysql如何通过SSL实现主从复制这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。
创新互联专注于企业成都营销网站建设、网站重做改版、长汀网站定制设计、自适应品牌网站建设、H5网站设计、成都商城网站开发、集团公司官网建设、成都外贸网站制作、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为长汀等各大城市提供网站开发制作服务。实验环境:
node1:192.168.4.61
node2:192.168.4.62
CA:192.168.4.63
[root@node1~]#ntpdate 172.18.0.1
[root@node2~]#ntpdate 172.18.0.1
[root@node1~]#vim /etc/chrony.conf #node1和node2操作一样
[root@node1~]#systemctl start chronyd.service #启动服务
[root@node1~]#ssh-keygen
[root@node1~]#ssh-copy-id -i /root/.ssh/id_rsa.pub 192.168.4.62#将公钥复制到node2上
node2操作和node1操作相同。
node1和node2配置相同
[root@node1~]#vim /etc/hosts
3 192.168.4.61 node1 4 192.168.4.62 node2
[root@node1~]#yum install -y mariadb-server
[root@node2~]#yum install -y mariadb-server
[root@node1~]#vim /etc/my.cnf.d/server.cnf
[root@node1~]#systemctl start mariadb #启动mariadb服务
MariaDB [(none)]> GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO 'joah'@'192.168.4.62' IDENTIFIED BY '123456'; #对用户授权
MariaDB [(none)]> SHOW VARIABLES LIKE '%log%bin%';
MariaDB [(none)]> SHOW MASTER STATUS;
[root@node2~]#vim /etc/my.cnf.d/server.cnf
[root@node2~]#systemctl start mariadb #启动mariadb服务
MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='192.168.4.61',MASTER_USER='joah',MASTER_PASSWORD='123456',MASTER_LOG_FILE='master-log.000003',MASTER_LOG_POS=417; #设置连接主服务器
MariaDB [(none)]> START SLAVE;
MariaDB [(none)]> START SLAVE IO_THREAD,SQL_THREAD;
MariaDB [(none)]> START SLAVE IO_THREAD,SQL_THREAD;
[root@CA/etc/pki/CA]#touch index.txt
[root@CA/etc/pki/CA]#echo 01 > serial
[root@CA/etc/pki/CA]#(umask 077;openssl genrsa -out private/cakey.pem 2048)
[root@CA/etc/pki/CA]#openssl req -new -x509 -key private/cakey.pem -out cacert.pem -days 3650
[root@node1~]#mkdir /etc/mysql/ssl -pv
[root@node1~]#chown mysql.mysql /etc/mysql/ssl/ -R
[root@node1/etc/mysql/ssl]#(umask 077;openssl genrsa -out master.key 2048)[root@node1/etc/mysql/ssl]#openssl req -new -key master.key -out master.csr
[root@node1/etc/mysql/ssl]#scp master.csr 192.168.4.63:/etc/pki/CA/newcerts/
[root@CA/etc/pki/CA/newcerts]#openssl ca -in master.csr -out master.crt -days 365
[root@CA/etc/pki/CA/newcerts]#scp master.crt ../cacert.pem 192.168.4.61:/etc/mysql/ssl
[root@node1~]#vim /etc/my.cnf.d/server.cnf
[root@node1~]#systemctl restart mariadb
[root@node2~]#mkdir /etc/mysql/ssl -pv
[root@node2~]#chown mysql.mysql /etc/mysql/ssl/ -R
[root@node2/etc/mysql/ssl]#(umask 077;openssl genrsa -out slave.key 2048)
[root@node2/etc/mysql/ssl]#openssl req -new -key slave.key -out slave.csr
[root@node2/etc/mysql/ssl]#scp slave.csr 192.168.4.63:/etc/pki/CA/newcerts
[root@CA/etc/pki/CA/newcerts]#openssl ca -in slave.csr -out slave.crt -days 365
[root@CA/etc/pki/CA/newcerts]#scp slave.crt ../cacert.pem 192.168.4.62:/etc/mysql/ssl
[root@node2/etc/mysql/ssl]#vim /etc/my.cnf.d/server.cnf
[root@node2/etc/mysql/ssl]#systemctl restart mariadb
MariaDB [(none)]> GRANT REPLICATION CLIENT,REPLICATION SLAVE ON *.* TO 'joah'@'192.168.4.62' IDENTIFIED BY '123456' REQUIRE SSL;
[root@node2~]#mysql -ujoah -p123456 -h292.168.4.61 --ssl
MariaDB [(none)]> CHANGE MASTER TO MASTER_HOST='192.168.4.61',MASTER_USER='joah',MASTER_PASSWORD='123456',MASTER_LOG_FILE='master-log.000008',MASTER_LOG_POS=429,MASTER_SSL=1,MASTER_SSL_CA='/etc/mysql/ssl/cacert.pem',MASTER_SSL_CERT='/etc/mysql/ssl/slave.crt',MASTER_SSL_KEY='/etc/mysql/ssl/slave.key'; MariaDB [(none)]> START SLAVE; #启动从云服务器 MariaDB [(none)]> SHOW SLAVE STATUS\G;
(1)如果你已经正确的添加了证书,但是启动以后还是没有启动SSL功能,有可能没有权限
[root@node2~]#chown mysql.mysql -R /etc/mysql/ssl
(2)如果出现图片中的问题,停止slave即可
(3)每一个过程中都需要验证是否成功然后进行下面的操作。
对于以上关于mysql如何通过SSL实现主从复制,大家是不是觉得非常有帮助。如果需要了解更多内容,请继续关注我们的行业资讯,相信你会喜欢上这些内容的。
另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。