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

本文涉及的产品
云数据库 RDS MySQL Serverless,0.5-2RCU 50GB
云数据库 RDS MySQL Serverless,价值2615元额度,1个月
简介: -------------------------------------------------------------------------------------------------短文-----------------------------------...
-------------------------------------------------------------------------------------------------短文---------------------------------------------------------------------------------------------------------------

长话短说~

现象:
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
目录
相关文章
|
2月前
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
Mybatis+mysql动态分页查询数据案例——测试类HouseDaoMybatisImplTest)
22 1
|
2月前
Mybatis+mysql动态分页查询数据案例——条件类(HouseCondition)
Mybatis+mysql动态分页查询数据案例——条件类(HouseCondition)
17 1
|
2月前
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
Mybatis+mysql动态分页查询数据案例——分页工具类(Page.java)
28 1
|
2月前
Mybatis+mysql动态分页查询数据案例——房屋信息的实现类(HouseDaoMybatisImpl)
Mybatis+mysql动态分页查询数据案例——房屋信息的实现类(HouseDaoMybatisImpl)
24 2
|
28天前
|
存储 关系型数据库 MySQL
MySQL引擎对决:深入解析MyISAM和InnoDB的区别
MySQL引擎对决:深入解析MyISAM和InnoDB的区别
36 0
|
2月前
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
Mybatis+mysql动态分页查询数据案例——工具类(MybatisUtil.java)
17 1
|
2天前
|
存储 SQL 关系型数据库
mysql中MyISAM和InnoDB的区别是什么
mysql中MyISAM和InnoDB的区别是什么
11 0
|
7天前
|
SQL 数据可视化 关系型数据库
【MySQL-11】多表查询全解-【多表关系/内外自连接/子查询/多表查询案例链接】(可cv代码&案例演示)
【MySQL-11】多表查询全解-【多表关系/内外自连接/子查询/多表查询案例链接】(可cv代码&案例演示)
|
7天前
|
关系型数据库 MySQL Linux
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
【MySQL-10】数据库函数-案例演示【字符串/数值/日期/流程控制函数】(代码演示&可cv代码)
|
7天前
|
关系型数据库 MySQL 数据库
【MySQL-10】DCL-数据控制语言-【管理用户&权限控制】 (语法语句&案例演示&可cv案例代码)
【MySQL-10】DCL-数据控制语言-【管理用户&权限控制】 (语法语句&案例演示&可cv案例代码)
【MySQL-10】DCL-数据控制语言-【管理用户&权限控制】 (语法语句&案例演示&可cv案例代码)