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
110228 23:58:36 [Note] /usr/sbin/mysqld: ready for connections.
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/

相关文章:

MySQL:拆分列(带分隔符)并插入新表的存储过程

php - 如何在 PHP 中添加格式化日期

python - SQLAlchemy左联接WHERE子句将转换为零和一

php - 是否值得使用 require_once() 来节省内存?

mysql - 如何显示所有测验,学生分数以及他们是否从4张 table 中获得了测验

c++ - 用数组初始化时的C++ STL vector 内存管理?

mysql - 使用ISNULL条件查询的左联接需要很长时间才能在MySQL RDS上执行

c# - 顺序计数器的正确隔离级别

mysql - InnoDB:文件操作中的操作系统错误号23

c++ - 我可以防止对象被 std::memcpy 复制吗?