GreatSQL社区

搜索

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

610 4 2024-1-22 15:44
GreatSQL怎么保障数据库中的数据不会因设备突然断电而丢失或使用其他异常情况而受到损害,我能想到的有两个场景,1是在内存中未落盘,2是落盘了未入数据库,这个怎么具体设置一些参数可以保障在内存和数据盘中的数据正常入库呢?
全部回复(4)
yejr 2024-1-22 15:59:17
1、单机或传统主从方式运行时,记得(在主节点上)设置双1,也就是
  1. sync_binlog = 1
  2. 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,你说是这个参数吗?
一个学艺不精的国产数据库爱好者
周欢欢

3

主题

0

博客

15

贡献

新手上路

Rank: 1

积分
22

合作电话:010-64087828

社区邮箱:greatsql@greatdb.com

社区公众号
社区小助手
QQ群
GMT+8, 2024-11-23 17:26 , Processed in 0.019215 second(s), 14 queries , Redis On.
快速回复 返回顶部 返回列表