mysql之复制过滤以及基于SSL复制加密

复制过滤

方法一,主服务器配置黑白名单,会影响二进制日志

主节点配置

vim /etc/my.cnf
binlog-ignore-db=hello

缺点:基于二进制还原将无法实现;不建议使用

方法二,从服务器上配置复制过滤器相关变量

从节点配置

vim /etc/my.cnf
replicate_do_db=hello  
#只允许hello数据库通过,其他数据库过滤掉

缺点:会造成网络以及磁盘IO浪费

其他选项

replicate_ignore_db= 指定复制库黑名单
replicate_do_table= 指定复制表的白名单
replicate_ignore_table= 指定复制表的黑名单
replicate_wild_do_table= foo%.bar% 支持通配符 解决跨库更新语句的问题
replicate_wild_ignore_table=

SSL复制加密

主服务器配置

#新建文件夹,存放证书
 mkdir /etc/my.cnf.d/ssl
 #生成CA私钥文件
 openssl genrsa 2048 > cakey.pem
#生成CA服务器证书
openssl req -new -x509 -key cakey.pem -out cacert.pem -days 3650
#生成主服务器私钥和证书申请
openssl req -newkey rsa:1024 -days 365 -nodes -keyout master.key > master.csr
#为自己颁发证书
openssl x509 -req -in master.csr -CA cacert.pem -CAkey cakey.pem -set_serial 01 >master.crt
#按照同样步骤给从服务器也建立证书
openssl req -newkey rsa:1024 -days 365 -nodes -keyout slave.key > slave.csr
openssl x509 -req -in slave.csr -CA cacert.pem -CAkey cakey.pem -set_serial 02 >slave.crt

把SSL信息添加到数据库配置中

vim /etc/my.cnf
ssl-ca=/etc/my.cnf.d/ssl/cacert.pem
ssl-cert=/etc/my.cnf.d/ssl/master.crt
ssl-key=/etc/my.cnf.d/ssl/master.key

把证书信息发给从服务器

scp -r /etc/my.cnf.d/ssl/ 192.168.160.129:/etc/my.cnf.d/
grant replication slave on *.* to repluser2@'192.168.160.%' identified by 'centos' require ssl;
--创建用户强制加密验证

从服务器节点配置

把SSL信息添加到数据库配置中

vim /etc/my.cnf
ssl-ca=/etc/my.cnf.d/ssl/cacert.pem
ssl-cert=/etc/my.cnf.d/ssl/slave.crt
ssl-key=/etc/my.cnf.d/ssl/slave.key

测试是否可以加密连接主服务器

mysql -h192.168.160.136 -urepluser2 -pcentos --ssl-ca=cacert.pem --ssl-cert=slave.crt --ssl-key=slave.key

在数据库中重新建立从服务器复制关系

CHANGE MASTER TO 
MASTER_HOST='192.168.160.136', 
MASTER_USER='repluser2', 
MASTER_PASSWORD='centos',
MASTER_LOG_FILE='mariadb-bin.000008',
MASTER_LOG_POS=245,
MASTER_SSL=1;

复制的监控和维护

清理日志
PURGE { BINARY | MASTER } LOGS { TO ‘log_name’ | BEFORE datetime_expr }
RESET MASTER
RESET SLAVE

复制监控
SHOW MASTER STATUS
SHOW BINARY LOGS
SHOW BINLOG EVENTS
SHOW SLAVE STATUS
SHOW PROCESSLIST

从服务器是否落后于主服务
Seconds_Behind_Master:0

如何确定主从节点数据是否一致
percona-tools

数据不一致如何修复
删除从数据库,重新复制

©️2020 CSDN 皮肤主题: 游动-白 设计师: 上身试试 返回首页
实付0元
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值