MySQL填满内存并卡住

标签 mysql memory innodb freeze fill

我的 MySQL 服务器 (Debian/Lenny) 有问题。有时 MySQL 守护进程填满内存和页面无法访问。重新启动 MySQL 守护进程有帮助,有时我必须重新启动整个服务器(无法再连接 SSH)。这是错误日志:

InnoDB: Error: pthread_create returned 12<br/> 110228 23:58:36 InnoDB: Started; log sequence number 0 43695<br/> 110228 23:58:36 [Note] /usr/sbin/mysqld: ready for connections.<br/> Version: '5.0.51a-24+lenny5' socket: '/var/run/mysqld/mysqld.sock' port: 3306 (Debian).


编辑

问题是,我没有使用 InnoDB 引擎。我所有的表都在 MyISAM 引擎中。 SHOW ENGINES说:没有 InnoDB。我以前做过。

这是我的.cnf

[client]
port = 3306
socket = /var/run/mysqld/mysqld.sock

[mysqld_safe]
socket=/var/run/mysqld/mysqld.sock
nice = 0
log-error = /var/log/mysql/error.log

[mysqld]
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
log-error = /var/log/mysql/error.log
bind-address = 127.0.0.1
key_buffer = 16M
max_allowed_packet = 16M
thread_stack = 128K
thread_cache_size = 8
myisam-recover = BACKUP
query_cache_limit = 1M
query_cache_size = 16M
expire_logs_days = 10
max_binlog_size = 100M
skip-bdb

[mysqldump]
quick
quote-names
max_allowed_packet = 16M

[mysql]
[isamchk] key_buffer = 16M

!includedir /etc/mysql/conf.d/

内存配置?我不确定你是什么意思。你能解释一下吗?谢谢!!

有人能给我解释一下吗?谢谢,对不起我的英语。

最佳答案

有一个mysql调优入门脚本:

http://www.day32.com/MySQL/

脚本直接下载地址:http://www.day32.com/MySQL/tuning-primer.sh

在您的数据库服务器上运行此脚本。它分析为缓冲区和可用内存分配了多少内存并给出建议。根据建议减小 mysql 缓冲区的大小。

关于MySQL填满内存并卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5151722/

相关文章:

InnoDB 的 MySQL 死锁问题

MySQL SELECT 到 VIEW 返回不同的结果

c++ - 关于STL列表中插入元素的一个问题

mysql - 从多个 MySQL 表中选择相似、唯一的数据行

c++ - 可遍历内存池的数据结构

java - 无法运行程序 "ping": CreateProcess error=8

mysql - 单个sql语句在innodb中总是原子的吗?

mysql - I/O 操作阻塞 mysql 事务

php - 根据表中分配的日期范围按日期过滤记录

mysql - 从另一台服务器访问数据库无法正常工作 SQL(Putty)