位置: 编程技术 - 正文

MySQL启动错误解决方法(mysql 启动报错)

编辑:rootadmin

推荐整理分享MySQL启动错误解决方法(mysql 启动报错),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:mysql5.7.26启动失败,mysql启动发生错误5,mysql5.7.26启动失败,mysql启动失败原因,mysql57启动失败,启动mysql1067错误,mysql5.7.26启动失败,mysql 启动报错,内容如对您有帮助,希望把文章链接给更多的朋友!

一般情况下mysql的启动错误还是很容易排查的,但是今天我们就来说一下不一般的情况。拿到一台服务器,安装完mysql后进行启动,启动错误如下:

有同学会说,哥们儿你是不是buffer pool设置太大了,设置了G内存。这明显提示无法分配内存嘛。如果真是这样也就不在这里进行分享了,哈哈。

我的服务器内存是G。如下图:

服务器内存使用情况:

那么问题来了,既然还剩如此多的内存,为什么提示无法分配内存??。各位童鞋怎么看?

1. 首先想到会不会是有几条内存坏了?于是运维的同学进行了检查,给我的反馈是硬件一切正常。

2. 把mysql配置参数又检查了一遍,没有发现什么问题,线上一直就是使用这些参数。

3. 又把文件拷贝到另外一台机器,,另外一台服务器可以正常启动(2台机器硬件配置一致)。

那么如果排除硬件问题,mysql配置问题,那么剩下的就只有操作系统的内核参数配置了。于是把两台服务器进行了对比,最终发现了一个内核参数不一致。

mysql启动正常的服务器改参数的值是0,而mysql启动错误的这台服务器该值是2。

那么问题来了,这个参数到底是什么鬼?竟然会让mysql分配内存失败,最后导致无法启动。经过查询资料知道了vm.overcommit_memory是什么鬼。

vm.overcommit_memory

MySQL启动错误解决方法(mysql 启动报错)

默认值为:0从内核文档里得知,该参数有三个值,分别是:0:当用户空间请求更多的的内存时,内核尝试估算出剩余可用的内存。1:当设这个参数值为1时,内核允许超量使用内存直到用完为止,主要用于科学计算.2:当设这个参数值为2时,内核会使用一个决不过量使用内存的算法,即系统整个内存地址空间不能超过swap+%的RAM值,%参数的设定是在overcommit_ratio中设定。

vm.overcommit_ratio默认值为:

这个参数值只有在vm.overcommit_memory=2的情况下,这个参数才会生效。

那么我们来看一下总的内存地址不能超过多少。其实是可以直接查看的。

通过查看可以得知在G的样子。那么这个是如何计算的呢?这个就是上面提到的一个公式。swap+%的RAM值,%参数的设定是在overcommit_ratio中设定。

总虚拟内存 = 可用物理内存 × 百分比 + 交换分区

总虚拟内存= * % + = kB

那么最后的结果就是buffer pool不能超过 kB - kB= KB=G。实际上经过测试,buffer pool只能设置G。

最后在看看总虚拟内存情况:

CommitLimit:最大可用虚拟内存

Committed_AS:已使用虚拟内存

那么如果把内核参数vm.overcommit_memory恢复为默认值0,那么将不会受到约束。

参考资料:

总结:

说了这么多,那么为什么要修改内核参数vm.overcommit_memory的值呢?这个是因为这台服务器之前跑过GreenPlum数据库,拿到我手上的时候没有进行重装系统,那么还是建议如果拿到的机器之前跑过其他的业务,那么保险的方法还是重装一下系统,然后再部署自己的业务,不然真的会出现莫名其妙的问题。

centOS7安装MySQL数据库 1、先检测系统是否自带原有版本mysql安装包,如果有要先卸载删除,不然不能成功安装和启动;#rpm-qa|grepmysql查看有哪些安装包,如果直接跳过,说明没

解决mySQL中(phpmyadmin)/(mysql)错误的方法 发现问题之前一直运行的好好的,突然mysql就无法工作了。请求命令后报错误:ERROR(HY):YoumustSETPASSWORDbeforeexecutingthisstatement,使用phpMyAdmin管理工具

MYSQL无法连接 提示错误的解决方法 解决方法:(以下内容为本人亲自实践原创)总结一下,应该是连接数的问题,那么服务器上有些什么连接数:1、IIS网站服务器中各个网站中有连接超

标签: mysql 启动报错

本文链接地址:https://www.jiuchutong.com/biancheng/349589.html 转载请保留说明!

上一篇:读取mysql一个库下面的所有的表table(读取mysql binlog)

下一篇:centOS7安装MySQL数据库

  • 应交增值税是什么意思
  • 个人报销电话费怎么做分录
  • 五月份有啥节日2020
  • 申报工资总额填错了
  • 怎么知道对方的支付宝账号
  • 建筑业异地施工如何纳税
  • 提供应税服务的企业
  • 退货未开发票如何做账
  • 建筑行业新老项目对比
  • 药品回扣2021
  • 老板买增票财务怎么做账
  • 分支机构的固定资产转移如何处理?
  • 购买银行理财产品被骗怎么办
  • 本地开的住宿费可以退吗
  • 免征的教育费附加如何账务处理
  • 工伤赔付是那个出钱呢
  • 分公司是否需要章程
  • 管理不善造成的损失的会计分录
  • 办理出口退税的流程
  • 鸿蒙系统通知栏和控制
  • 增值税留抵税额在借方还是贷方
  • 退回多缴税款如何做账
  • 公司奖金没有按时发可以要吗
  • 合伙企业股东个税税率表
  • 支付本月职工薪酬
  • php代码扫描
  • 个体户未达起征点需要申报吗
  • wordpress文章编辑使用教程
  • 超级鸽卫星
  • web数据可视化(Echars版)实训
  • Vue3通透教程【十二】TS类型声明优势
  • 专项应付款二级明细科目有哪些
  • 自查补缴增值税附表一怎么填写
  • 更新php文件
  • mongorepository排序
  • 固定资产盘亏是管理费用吗
  • 印花税步骤
  • 上年度企业所得税调整需要调账吗
  • 固定资产转让损失怎么算
  • 图书发行税率
  • 内含增长率简易公式如何理解
  • 从国外进口一批原材料,海关核定的关税完税价
  • 微信转账截图可以作为会计凭证吗
  • 影响营业利润和利润总额的因素
  • 什么情况下应选用基轴制配合
  • 会计账务做得混乱的原因
  • 公司增资需要哪些材料
  • Mysql5.7.14 linux版密码忘记完美解决办法
  • 屏蔽系统
  • 如何在苹果电脑上下载软件
  • linux www服务器配置
  • 恢复双系统启动菜单
  • archlinux 配置网络
  • schedul2.exe - schedul2是什么进程 有什么用
  • 修改win7
  • 非常好的成语
  • .json()
  • cocos3.0
  • linux的open
  • xcopy /s /e
  • js多选
  • js网页自动化
  • js如何将输入的数存到数组中
  • unity 动态生成模型
  • node.js 微信小程序
  • node js 前端
  • 置顶高手
  • javascript for in
  • android存储方式
  • android图片压缩到200-300kb
  • 广东省地税局局长 吴
  • 烟叶的增值税税率9
  • 投资性房地产如何合并抵消
  • 网上交医保几点上班
  • 姓名验证不正确
  • 税务局自助终端
  • 企业卖旧房如何计算缴纳土地增值税
  • 个人所得税网上报税流程
  • 江苏税务局网上预缴税流程
  • 将购进农产品用于生产销售或委托加工货物的税率多少
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设