周欢欢 发表于 2024-1-22 15:44:48

GreatSQL怎么保障数据库中的数据不会因设备突然断电丢失数据

GreatSQL怎么保障数据库中的数据不会因设备突然断电而丢失或使用其他异常情况而受到损害,我能想到的有两个场景,1是在内存中未落盘,2是落盘了未入数据库,这个怎么具体设置一些参数可以保障在内存和数据盘中的数据正常入库呢?

yejr 发表于 2024-1-22 15:59:17

1、单机或传统主从方式运行时,记得(在主节点上)设置双1,也就是
sync_binlog = 1
innodb_flush_log_at_trx_commit = 1

2、如果是在MGR集群中,事务提交前会和其他节点协商,哪怕当前的主节点宕机了,也会把事务发送到其他节点,等待新的主节点应用完事务后即可对外提供服务。如果担心所有节点同一时间瞬间宕机丢失事务的话,同上,也设置双1。

周欢欢 发表于 2024-1-22 18:05:57

yejr 发表于 2024-1-22 15:59
1、单机或传统主从方式运行时,记得(在主节点上)设置双1,也就是




可以开启innodb_doublewrite和direct_io吗

reddey 发表于 2024-6-23 15:56:26

周欢欢 发表于 2024-1-22 18:05
可以开启innodb_doublewrite和direct_io吗

show variables like 'innodb_doublewrite';
+--+--------------------+-------+
| Variable_name      | Value |
+--------------------+-------+
| innodb_doublewrite | ON    |
+--------------------+-------+
Greatsql默认已经是ON了。

reddey 发表于 2024-6-23 17:14:13

周欢欢 发表于 2024-1-22 18:05
可以开启innodb_doublewrite和direct_io吗

innodb_flush_method = O_DIRECT,你说是这个参数吗?
页: [1]
查看完整版本: GreatSQL怎么保障数据库中的数据不会因设备突然断电丢失数据