文章目录

  • 前言
  • 1、INNODB_FAST_SHUTDOWN
  • 2、INNODB_FORCE_RECOVERY
  • 3、扩展
  • 结语

前言

MySQL作为目前使用最广,最受认可的免费开源数据库,以其性能稳定、安全可靠、文档详尽等受到了各个厂商的青睐,是我们技术人必备的技能之一。

今天就来分享一下MySQL的两个重要参数,用不好轻松丢掉上万条数据。

1、INNODB_FAST_SHUTDOWN

看见shutdown那么大概率是跟InnoDB引擎关闭时有关。而他也确实是影响着InnoDB关闭着的行为。该参数有三个值可供选择:0,1,2

  • 0
    表示数据库在关闭时,InnoDB引擎会将所有的full purge、merge insert buffer,并且将所有的脏页刷新回磁盘。这个过程可能会花费几分钟甚至几个小时。
    full purge、merge insert buffer是什么,请参考文章《MySQL之InnoDB关键特性,爱她就要了解她》。
    在升级InnoDB时,必须将参数设置为0,虽然会花费较长时间,但这是保持数据安全的有效措施。
  • 1
    该参数是InnoDB的默认值,设置为该值时表示,InnoDB引擎不需要完成full purge和merge insert buffer,但是需要完成脏页的刷盘操作。
  • 2
    表示不进行上述的三种操作,只是将日志都写入日志文件,这一种操作同样不会有任何事务的丢失,但是在下次启动数据库时,会进行恢复操作,需要耗费一定的时间。

2、INNODB_FORCE_RECOVERY

看见recovery那么大概率就是和数据库的数据恢复有关系了,实际上也确实是这样,所以在平时的编码中,见名知意是多么的重要,该参数共有6个值可供选择:0,1,2,3,4,5,6。大数字包含所有小数字包含的意义。

  • 0
    该值是引擎的默认值,表示需要进行恢复的时候,就进行所有的恢复操作,这里留个问题,是否所有的情况都需要进行恢复?在下面会稍微展开分析一下。
  • 1
    忽略检查到的corrupt页
  • 2
    阻止Master Thread线程的运行
  • 3
    不进行事务的回滚操作
  • 4
    不进行插入缓存的合并操作
  • 5
    不查看回滚日志,InnoDB引擎会将未提交的事务视为已提交
  • 6
    不进行前滚的操作

3、扩展

  1. innodb_fast_shutdown在升级的时候需要设置成0,防止升级过程中更新文件格式,导致数据的丢失。在没有丢失数据的风险前提下,在遇到紧急情况可以将其设置为2,以提高关闭速度
  2. InnoDB_force_recovery设置大于0的时候,insert、update和delete操作是不被允许的,设置大于或等于4时,数据库将变成只读模式。
  3. 是否所有的情况都需要进行恢复?我们考虑这样一种情况,如果修改共有1000万条数据的表,这个操作会产生大量的回滚日志,如果这时数据库崩溃了,那么数据库启动后就要进行回滚,肯定是需要花费较长的时间,此时可以利用备份进行恢复显然是一个更好的选择。

结语

道阻且长,行则将至,行而不辍,未来可期,加油。

如果你觉得文章不错,那么就给个小心心,如果觉得文章非常对你的胃口,那么欢迎你关注我,或者关注个人的微信公众号,咱们一起打怪升级。

MySQL之InnoDB的两个配置参数INNODB_FAST_SHUTDOWN和INNODB_FORCE_RECOVERY,用不好可能导致线上万数据丢失相关推荐

  1. Hadoop Yarn配置参数整理(非常全面)

    RM与NM相关参数 ResourceManager 参数名称 作用 默认值 yarn.resourcemanager.address ResourceManager 对客户端暴露的地址.客户端通过该地 ...

  2. 深入理解JVM(三)——配置参数

    2019独角兽企业重金招聘Python工程师标准>>> JVM配置参数分为三类参数: 1.跟踪参数 2.堆分配参数 3.栈分配参数 这三类参数分别用于跟踪监控JVM状态,分配堆内存以 ...

  3. hadoop之 YARN配置参数剖析—RM与NM相关参数

    参数均需要在yarn-site.xml中配置: 1. ResourceManager相关配置参数 (1) yarn.resourcemanager.address 参数解释:ResourceManag ...

  4. Hadoop YARN配置参数剖析—RM与NM相关参数

    注意,配置这些参数前,应充分理解这几个参数的含义,以防止误配给集群带来的隐患.另外,这些参数均需要在yarn-site.xml中配置. 1.    ResourceManager相关配置参数 (1) ...

  5. Mysql一些重要配置参数的学习与整理(一)

    2019独角兽企业重金招聘Python工程师标准>>> 原文地址:Mysql一些重要配置参数的学习与整理(一) 最近一直在进行mysql的学习,主要是学习mysql的一些配置参数,了 ...

  6. mysql配置参数调优(8GB内存和64GB内存)

    文章目录 一.前言 二.查看服务器的CPU和内存 1.查看CPU的个数 2.查看服务器的内存 3.数据库版本 三.64GB内存的mysql配置参数 四.本机8GB内存的mysql配置参数 1.查看数据 ...

  7. MySQL性能的五大配置参数(内存参数)

    内存参数: 存储引擎/共享 日志缓冲区,缓冲区池 innodb_buffer_pool_size innodb_additional_mem_pool_size innodb_log_buffer_s ...

  8. mysql 优化配置参数(my.cnf)

    max_connections:允许客户端并发连接的最大数量,默认值是151,一般将该参数设置为500-2000 max_connect_errors:如果客户端尝试连接的错误数量超过这个参数设置的值 ...

  9. Mysql配置参数常见问题

    Mysql安装时进行初始化安装,最长碰到的问题就是配置参数兼容性的问题,因为数据库的参数发生改变,导致数据库无法识别的情况很让人头疼,好在有官方文档的指引,才能解决这类问题的发生 当前广泛应用的是my ...

最新文章

  1. Vision Transformers 大有可为!
  2. python处理表格数据-基于Python快速处理PDF表格数据
  3. boost::boost::maximum_adjacency_search用法的测试程序
  4. windows10访客_如何在Windows 10中创建访客帐户
  5. 阿里云服务器排坑指南
  6. 一个用php抓取网页中电子邮箱的实例
  7. python画相关性可视化图_Python可视化matplotlibseborn16-相关性热图
  8. oracle日期时间函数
  9. Lingo11 解决优化问题( 下载和运行 )
  10. URPF - 单播逆向路径转发
  11. android 恢复出厂设置 时间,安卓恢复出厂设置
  12. 服务器操作系统 份额,2019年6月全球桌面操作系统市场份额数据:Linux占比1.55%...
  13. 【redis】ERR AUTH <password> called without any password configured for the default user解决
  14. 【小技巧】PDF 转 图片 虚拟打印
  15. 报错:org.springframework.security.web.firewall.RequestRejectedException: The request was not ......
  16. 一体的综合化云控平台
  17. mysql怎么批量导入excel数据_phpmyadmin怎么批量导入excel数据到mysql
  18. html5小游戏 typescript,使用TypeScript和Canvas编写移动端贪吃蛇大作战游戏
  19. java实现监听文件
  20. 原创 基于微信小程序毕业设计题目选题课题 图书馆图书借阅小程序的设计与实现(1)首页

热门文章

  1. 使用Arduino制作智能餐厅菜单点餐系统
  2. 2014计算机应用基础,2014《计算机应用基础》作业1
  3. Z01 fstream中ofstream的简单用法
  4. 《Code Complete 代码大全》中用到的英文
  5. 思科 路由与交换基础 实验一
  6. tensorflow RuntimeError:Graph is finalized and cannot be modified
  7. Redmi Note8 重启死机
  8. 前端如何准备大厂面试
  9. Java毕设项目线上甜品店售卖系统(java+VUE+Mybatis+Maven+Mysql)
  10. 愿世间项目再无node-sass