MySQL案例-open too many files,MyISAM与partition

简介: -------------------------------------------------------------------------------------------------短文-----------------------------------...
+关注继续查看
-------------------------------------------------------------------------------------------------短文---------------------------------------------------------------------------------------------------------------

长话短说~

现象:
error log中批量刷错误日志, 形如: [ERROR] /usr/sbin/mysqld: Can't open file: './*******/*********.frm' (errno: 24)
PS: 用*代替某些不可描述内容_(:з」∠)_

查了一下errno,  代表的信息是: OS error code  24:  Too many open files

实际上解决起来也很简单, 修改下系统的openfiles和mysql的
open_files_limit就好了,
出问题的虚拟机上面, open_files_limit的值设置成了300, 只需要改高一些, 比如65535, 应该就解决了;

更进一步:
虽说能解决问题, 但是有一个现象还是比较奇怪的, 一般来说, 如果是Too many open files的问题, 出问题的文件应该没什么规律;
但是这个环境上面, 刷了一大票的错误信息, 都是同一个表的, 这个就比较奇怪了, 为什么全部是那一张表?

好奇心:
所以就登进去看看那张表的情况, 发现是一个MyISAM的表, 而且有600+G, 但是文件的大小应该不会对open files有什么影响才对;
于是再看一眼表结构: 分区表, 还是500+的分区数量??

搜索:
印象里面innodb在操作分区表的时候只会单独操作一个文件的, 但是MyISAM就不太了解了;
查阅文档以后发现如下内容:


大致意思如下:
根据MyISAM引擎的设计, 基于MyISAM的分区表在操作的时候, 会打开表中所有的分区;
所以需要提供足够多的文件描述符;

考虑到出问题的那张表正好是一个MyISAM的分区表, 且包含了500+的分区, 所以把修改参数的方案和分区表的问题一起反馈给了业务方;

PS: MyISAM是个坑啊, 别用了行不行....._(:з」∠)_
相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
7天前
|
SQL 关系型数据库 MySQL
MySQL搭建主从备份读写分离(MySQL5.7案例)
MySQL搭建主从备份读写分离(MySQL5.7案例)
|
19天前
|
关系型数据库 MySQL 中间件
细节爆炸!腾讯用13个案例实战讲明白MySQL,没想到这么全
MySQL的数据类型有很多种,选择正确的数据类型对于获得高性能特别地重要。MySQL作为应用最广泛、最流行的开源数据库之一,MySQL数据库软件已经广为人知了,MySQL的衍生技术百花齐放,拓展架构异彩纷呈。尤其是在性能优化及高可用架构两方面,很多从业多年的DBA限于生产环境的固定体系,往往都是盲人摸象,难窥全局!
|
30天前
|
SQL 存储 关系型数据库
记一次MySQL CPU被打满的SQL优化案例分析
记一次MySQL CPU被打满的SQL优化案例分析
82 0
|
2月前
|
关系型数据库 MySQL Shell
Shell编程入门加案例之Linux的Mysql数据库定时备份
设置每天凌晨2点自动执行上面的脚本。 使用crontab创建任务:crontab -e
108 1
|
2月前
|
SQL 关系型数据库 MySQL
项目实战典型案例2——sql优化 mysql执行顺序 explain关键字进行性能分析
项目实战典型案例2——sql优化 mysql执行顺序 explain关键字进行性能分析
133 0
|
2月前
|
存储 SQL 关系型数据库
项目实战典型案例12——mysql数据库 数据类型与表字段类型不一致导致索引失效
项目实战典型案例12——mysql数据库 数据类型与表字段类型不一致导致索引失效
38 0
|
2月前
|
存储 SQL 关系型数据库
案例12-数据库类型问题(mysql数据类型 索引失效)
案例12-数据库类型问题(mysql数据类型 索引失效)
|
2月前
|
SQL 关系型数据库 MySQL
Mysql函数大全+案例练习
函数,在Java中我们叫方法,MySQL 函数会对传递进来的参数进行处理,并返回一个处理结果,也就是返回一个值。 MySQL 包含了大量并且丰富的函数,我们可以对 MySQL 常用函数进行简单的分类,大概包括数值型函数、字符串型函数、日期时间函数、聚合函数等。
22 0
|
2月前
|
关系型数据库 MySQL PHP
PHP高级开发案例(1):使用MYSQL语句跨表查询无法导出全部记录的解决方案
PHP高级开发案例(1):使用MYSQL语句跨表查询无法导出全部记录的解决方案
34 0
|
2月前
|
SQL 关系型数据库 MySQL
28个案例问题分析---02---sql优化--mysql执行顺序、explain关键字解析
28个案例问题分析---02---sql优化--mysql执行顺序、explain关键字解析
39 0
推荐文章
更多