问个问题mariadb galera 集群能否开启binlog 日志,开启后对于集群性能有么有影响

问个问题mariadb galera 集群能否开启binlog 日志,开启后对于集群性能有么有影响

在 Galera 集群中,如果启用了二进制日志,则每个节点都会生成自己的二进制日志文件。这些日志文件可能包含在集群冲突解决期间所做的更改。在这种情况下,由于 Galera 采用的是多主架构,因此可能会在日志文件之间存在冲突。Galera 会自动解决冲突,但在某些情况下,这可能会对性能产生一定的影响,并导致一些更改在节点之间无法同步。
因此,在 MariaDB Galera 集群中开启二进制日志可能会对性能产生一定的影响,具体的影响视各种因素而定。在进行实际部署之前,需要根据实际需求进行测试并评估集群的性能。

  • 这篇博客: mariadb开启binlog日志文件中的 4.其他命令 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:
  • # 生成新的log文件(文件名递增)
    [root@localhost /]# mysqladmin --socket=/mariadb/sock/mysql.sock -uroot flush-logs
    # 查看binlog过期时间
    mysql> show variables like 'expire_logs_days';
    # 设置binlog过期时间
    mysql> set global expire_logs_days=7;
    # 清除指定日期之前的binlog日志
    mysql> purge binary logs before '2020-04-15 00:00:00';
    

以下内容部分参考ChatGPT模型:


可以开启binlog日志,但是需要注意以下几点:

  1. 需要在每个节点上都开启binlog日志,且配置必须一致,否则可能会导致数据不一致的问题。

  2. 在Galera集群中,binlog日志只能记录DDL语句,无法记录DML语句,因为DML语句在Galera集群中会通过replication来实现数据同步。

  3. 开启binlog日志会对集群性能造成一定的影响,因为每次写入数据时都需要记录binlog日志,会增加一定的IO负载和CPU负载。

以下是示例代码:

在每个节点的my.cnf文件中添加以下配置:

log-bin = mysql-bin
binlog-format = ROW

然后重启集群中的每个节点。可以使用以下命令检查binlog日志是否已经开启:

SHOW GLOBAL VARIABLES LIKE 'log_bin';

如果输出结果中的Value为ON,则说明binlog日志已经成功开启。


如果我的建议对您有帮助、请点击采纳、祝您生活愉快