我的 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/tuning-primer.sh
在您的数据库服务器上运行此脚本。它分析为缓冲区和可用内存分配了多少内存并给出建议。根据建议减小 mysql 缓冲区的大小。
关于MySQL填满内存并卡住,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5151722/