mysqld在负载下间歇重启

mysqld在负载下间歇重启,mysql,Mysql,首先,我对web开发还比较陌生 在500-700 Q/s的合理负载下,服务器经常重启,有时每小时重启一次,每次重启时我的系统日志中都会出现以下情况。我没有得到mysql.err或mysql/error.log的任何输出 这是我第一次真正的mysql安装,所以我相信还有很多地方可以改进,但我很惊讶服务器竟然经常宕机。这台机器有4GB内存。谢谢你的建议和帮助 Ubuntu 10.04,mysql来自lucid软件包。 版本14.14发行版5.1.41,适用于使用readline 6.1的debian

首先,我对web开发还比较陌生

在500-700 Q/s的合理负载下,服务器经常重启,有时每小时重启一次,每次重启时我的系统日志中都会出现以下情况。我没有得到mysql.err或mysql/error.log的任何输出

这是我第一次真正的mysql安装,所以我相信还有很多地方可以改进,但我很惊讶服务器竟然经常宕机。这台机器有4GB内存。谢谢你的建议和帮助

Ubuntu 10.04,mysql来自lucid软件包。 版本14.14发行版5.1.41,适用于使用readline 6.1的debian linux gnu x86_64

Oct 10 01:45:33 host init: mysql main process (1199) terminated with status 1
Oct 10 01:45:33 host init: mysql main process ended, respawning
Oct 10 01:45:42 host /etc/mysql/debian-start[1644]: Upgrading MySQL tables if necessary.
Oct 10 01:45:42 host /etc/mysql/debian-start[1648]: /usr/bin/mysql_upgrade: the '--basedir' option is always ignored
Oct 10 01:45:42 host /etc/mysql/debian-start[1648]: Looking for 'mysql' as: /usr/bin/mysql
Oct 10 01:45:42 host /etc/mysql/debian-start[1648]: Looking for 'mysqlcheck' as: /usr/bin/mysqlcheck
Oct 10 01:45:42 host /etc/mysql/debian-start[1648]: This installation of MySQL is already upgraded to 5.1.41, use --force if you still need to run mysql_upgrade
Oct 10 01:45:42 host /etc/mysql/debian-start[1656]: Checking for insecure root accounts.
Oct 10 01:45:43 host /etc/mysql/debian-start[1672]: Triggering myisam-recover for all MyISAM tables
这是我的

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

user            = mysql
socket          = /var/run/mysqld/mysqld.sock
port            = 3306
basedir         = /usr
datadir         = /var/lib/mysql
tmpdir          = /tmp
skip-external-locking
bind-address            = host
back_log = 50
max_connections = 100
max_connect_errors = 10
table_open_cache = 2048
max_allowed_packet = 16M
binlog_cache_size = 1M
max_heap_table_size = 64M
sort_buffer_size = 8M
join_buffer_size = 8M
thread_cache_size = 8
thread_concurrency = 8
query_cache_size = 64M
query_cache_limit = 2M
ft_min_word_len = 4
default-storage-engine = innodb
default-character-set = utf8
thread_stack = 192K
transaction_isolation = REPEATABLE-READ
tmp_table_size = 32M
log-bin=trent-bin
binlog_format=mixed
slow_query_log
long_query_time = 2
server-id = 1
key_buffer_size = 32M
read_buffer_size = 2M
read_rnd_buffer_size = 16M
bulk_insert_buffer_size = 64M
myisam_sort_buffer_size = 128M
myisam_max_sort_file_size = 10G
myisam_repair_threads = 1
myisam_recover
innodb_additional_mem_pool_size = 16M
innodb_buffer_pool_size = 2800M
innodb_data_file_path = ibdata1:100M:autoextend
innodb_file_per_table
innodb_file_io_threads = 4
innodb_thread_concurrency = 8
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 4M
innodb_log_file_size = 256M
innodb_log_files_in_group = 3
innodb_max_dirty_pages_pct = 90
innodb_flush_method=O_DIRECT
innodb_lock_wait_timeout = 50

ssl-ca=/etc/mysql/cacert.pem
ssl-cert=/etc/mysql/server-cert.pem
ssl-key=/etc/mysql/server-key.pem

[mysqldump]

quick

max_allowed_packet = 16M

[mysql]
no-auto-rehash

[myisamchk]
key_buffer_size = 512M
sort_buffer_size = 512M
read_buffer = 8M
write_buffer = 8M

[mysqlhotcopy]
interactive-timeout

[mysqld_safe]
open-files-limit = 8192

我见过mysql有几次这样的行为,有很多潜在的原因为了调查,我会检查一下

1您编写的自定义函数是否存在内存泄漏?我曾经看到一个在MySQL5上定制的中值函数,如果由两个同时运行的查询导致重新启动

2如果优化表格,是否会降低重启频率


3数据库中是否有任何损坏的表

在上的问题上,您可能会有更好的运气。您看过cat/var/log/syslog | grep mysql吗?这方面的更新-问题是由客户端和服务器之间的SSL引起的。如果对CPU有要求,我认为这将是一件非常稳定的事情,但显然不是在这种情况下。如果我们能找到一个永久的解决方案,我会更新。感谢您提供指向服务器故障的指针。