聚合国内IT技术精华文章,分享IT技术精华,帮助IT从业人士成长

一周碎碎念,2021.10.31,重启跑步

2021-11-15 12:32 浏览: 731490 次 我要评论(0 条) 字号:

叨叨最近遇到的一些事以及见闻、思考。

1. 【重要提醒】做好数据备份

这里不仅是指数据库的数据,也包括日常工作、生活中产生的数据,例如工作电脑(重要文档资料等)、手机数据(照片、通信录等)。

平时可能不觉得多么重要,而一旦发生损坏或者丢失时,就会痛心疾首了。。。

无数次惨痛的经验教训反复的说明数据备份的重要性。

这里要特别表扬macOS系统的TimeMachine功能,可以很方便的实现整机备份。我会专门用一个移动硬盘作为TimeMachine,大约每1-2周做一次全盘备份。电脑中的重要资料、照片等,也会双重备份到另外两个移动硬盘上。可能有同学说要上NAS,是这样没错,但我当时买移动硬盘时还没这概念,就懒得折腾了。

2. GreatSQL 和 Percona 之间可以相互平滑替换吗

如果是相同版本号,那么是OK的。也就是目前GreatSQL 8.0.25-15 和 Percona Server 8.0.25-15之间是可以任意平滑互换的。

另外,GreatSQL 8.0.25和MySQL 8.0.25(官方社区版)也是可以平滑互换的。

但是,如果是不同版本的话,则不能这样做了。例如想从Percona Server 8.0.26换成GreatSQL 8.0.25的话,就会报告类似下面的错误:

[ERROR] [MY-013171] [InnoDB] Cannot boot server version 80025 on data directory built by version 80026. Downgrade is not supported

也就是不能直接降级,需要通过物理或逻辑备份&导入的方式重建。

3. 哪种方式加载数据最快?

这其实是一位群友的问题,我利用空闲时间简单做了下测试,大概得到以下几点总结:

  • 同等条件下,load data infile最快,比导入用mysqldump出来的SQL文件快76%。
  • 想要导入更快,可以在导入期间关闭binlog,如果是在主从或MGR架构里,则在每个节点都要重复执行相同的导入操作,这样才能保证个节点间数据一致,关闭binlog至少能节省34%的时间。
  • 另外,还可以临时关闭redo log(MySQL 8.0.21后支持),大概能节省15%的时间。
  • 非常重要的一点,用mysqldump导出逻辑备份SQL文件时,务必要设置参数 –extended-insert=true (也是默认行为),其他类似工具也是如此。启用这个参数后,导出SQL文件会将多行数据合并到同一个INSERT里,否则的话,未开启binlog时至少慢5倍,开启binlog时至少慢20倍。

再补充两点:

  • 在已经采用批量导入(load data infile 或 –extended-insert=true)前提下,是否设置双1的耗时区别很小。
  • 同上前提,是否关闭double write buffer的区别也不大。

以上耗时数据均是基于有400万行数据的sysbench表测试而来,实际环境中肯定是不一样的,不过应该不会有特别大出入,有兴趣的同学可自行测试一波。

4. 重启跑步

昨天参加完(COSCon’21福州站在线)[https://segmentfault.com/area/coscon-2021]分享后,出门去跑了5公里。这是国庆节前手术后的第一次跑步,感觉恢复差不多了,跑下来总体感觉也还可以,配速和心率略微不太稳定外,步频倒还比较稳定。

平时有小毛病还是要及早重视起来,尽早处理哈。



网友评论已有0条评论, 我也要评论

发表评论

*

* (保密)

Ctrl+Enter 快捷回复