当前位置: 首页 > 图文教程 > 数据库 > MYSQL > 轻轻松松解决MySQL中文件未找到的问题

MYSQL
MySQL字段类型详解
MySQL安全问题的一点心得
Linux下通过C++语言代码来操作MySQL数据库
Mysql常用命令行大全
保护MySQL数据库中重要数据的注意事项
Jsp连接Mysql数据库:利用Servlet监听器
提高MySQL数据库查询效率的几个技巧
精细分析 SQL server服务器的内存配置
如何选择合适的MySQL存储引擎
如何对MySQL数据库日志文件进行维护
如何进行MySQL数据库表的故障检测
如何对MySQL数据库表进行锁定
Navicat for MySQL 与 MySQL-Front比较
DBA经验:如何进行MySQL数据库表的故障检测
小谈MySQL字符集
mysql数据库下损坏数据的恢复操作其过程总结
MySQL如何查询当前正在运行的SQL语句
MySQL数据库的临时文件究竟储存在哪里
用MySQL内建复制功能来优化可用性
使用ODBC接口访问MySQL

MYSQL 中的 轻轻松松解决MySQL中文件未找到的问题


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-17   浏览: 52 ::
收藏到网摘: n/a

如果遇到“ERROR '...'未发现(errno: 23)”,“无法打开文件:... (errno: 24)”,或来自MySQL的具有errno 23或errno 24的其它错误,它表示未为MySQL服务器分配足够的文件描述符。你可以使用perror实用工具来了解错误编号的含义:

shell> perror 23

错误代码23:文件表溢出

shell> perror 24

错误代码24:打开文件过多

shell> perror 11

错误代码11:资源暂时不可用

这里的问题是,mysqld正试图同时打开过多的文件。你可以通知mysqld不要一次打开过多文件,或增加mysqld可用文件描述符的数目。

要想通知mysqld将一次打开的文件控制在较小的数目上,可降低table_cache系统变量的值(),从而减少表高速缓冲(默认值为64)。降低max_connections的值也能降低打开文件的数目(默认值为100)。

要想更改mysqld可用的文件描述符的数目,可在mysqld_safe上使用“--open-files-limit”选项或设置(自MySQL 3.23.30开始)open_files_limit系统变量。

设置这些值的最简单方式是在选项文件中增加1个选项。

如果mysqld的版本较低,不支持设置打开文件的数目,可编辑mysqld_safe脚本。在脚本中有1个注释掉的行ulimit -n 256。你可以删除‘#’字符取消对该行的注释,更改数值256,以设置mysqld可用的文件描述符数目。

“--open-files-limit”和ulimit能够增加文件描述符的数目,但最高不能超过操作系统限制的数目。此外还有1个“硬”限制,仅当以根用户身份启动mysqld_safe或mysqld时才能覆盖它(请记住,在该情况下,还需使用“--user”选项启动服务器,以便在启动后不再以根用户身份继续运行)。如果需要增加操作系统限制的对各进程可用文件描述符的数目,请参阅系统文档。

注释:如果运行tcsh shell,ulimit不工作!请求当前限制值时,tcsh还能通报不正确的值。在该情况下,应使用sh启动mysqld_safe。