MySQL 5.1.49每两天冻结一次

我们的mysql系统每隔两天就“冻结”一次。

“冻结”我的意思是说:

  • 它不响应ping
  • 我们不能用SSHlogin
  • 我们没有从MySQL获得任何答案
  • 错误日志中没有条目! 从Linux既不是从MySQL。
  • 我们已经变成了一个全新的硬件,我们也遇到了同样的问题,所以绝对不是硬件问题。
  • 我们没有安装除防火墙以外的其他软件(iptables规则)
  • 我们可以使用rsyslog(www.rsyslog.com)(软件重置)从另一台服务器重新启动服务器,

有人能帮助我,通过给我一些指点,我能做些什么来找出问题? 我已经包括了关于我们设置的每个细节。

预先感谢您的帮助。 最大。

我们的系统参数和设置:

  • 系统内存:12GB
  • 处理器:Intel 7-920 Quadcore
  • 操作系统:Debian 5(lenny)64bit
  • MySQL 5.1.49
  • 数据库:(a)一个小的phpbb论坛(b)一个6GB的数据库3个表,大约有1500万行

my.cnf中

 #
 #MySQL数据库服务器configuration文件。
 #
 #您可以将其复制到以下其中一个:
 # - “/etc/mysql/my.cnf”设置全局选项,
 # - “〜/ .my.cnf”设置用户特定的选项。
 # 
 #可以使用程序支持的所有长选项。
 #使用--help运行程序以获得可用选项列表
 #--print-defaults,看看它实际上会理解和使用。
 #
 #说明见
 #http://dev.mysql.com/doc/mysql/en/server-system-variables.html

 #这将被传递给所有的mysql客户端
 #据报道,密码应该用蜱/引号括起来
 #escpecially如果他们包含“#”字符...
 #请记住在更改套接字位置时编辑/etc/mysql/debian.cnf。
 [客户]
端口= 3306
 socket = /var/run/mysqld/mysqld.sock

 #这是一些特定程序的条目
 #下面的值假设你至less有32M RAM

 #这正式被称为[safe_mysqld]。 目前这两个版本都被parsing。
 [mysqld_safe的]
 socket = /var/run/mysqld/mysqld.sock
好= 0

的[mysqld]
 #
 # * 基本设置
 #
 user = mysql
 pid-file = /var/run/mysqld/mysqld.pid
 socket = /var/run/mysqld/mysqld.sock
端口= 3306
 basedir = / usr
 datadir = / var / lib / mysql
 tmpdir = / tmp
 language = / usr / share / mysql / english
跳过外部locking
 #
 #而不是跳过networking默认现在只能听
 #localhost这是更加兼容,并不安全。
 bind-address =我们的IP地址

 #
 # * 微调
 #
 key_buffer = 16M
 max_allowed_pa​​cket = 16M
 thread_stack = 256K
 thread_cache_size = 32 
 max_connections = 300
 table_cache = 2048
 #thread_concurrency = 4

 #用于InnoDB表推荐的50%-80%可用内存
 innodb_buffer_pool_size = 6G

 #20MB有时更大
 innodb_additional_mem_pool_size = 20M

 #8M-16M适合大多数情况
 innodb_log_buffer_size = 8M

 #禁用XA支持,因为我们不使用它
 innodb-support-xa = 0

 #1默认是100%安全,但2提供更好的性能
 innodb_flush_log_at_trx_commit = 1

 innodb_flush_method = O_DIRECT
 #innodb_thread_concurency = 8


 #build议64M  -  512M取决于服务器的大小
 innodb_log_file_size = 512M

 #每个表格一个文件
 innodb_file_per_table


 #
 #*查询cachingconfiguration
 #
 query_cache_limit = 1M
 query_cache_size = 16M
 #query_cache_type = 1
 #query_cache_min_res_unit = 2K
 #join_buffer_size = 1M

 #
 #*logging和复制
 #
 #两个位置都被cronjob旋转。
 #请注意,这种日志types是一个性能杀手。
 #从5.1开始,您可以在运行时启用日志!
 #general_log_file = /var/log/mysql/mysql.log
 #general_log = 1
 #
 #错误日志logging到系统日志。 这是一个Debian改进:)
 #
 #在这里你可以看到特别长的查询
 log_slow_queries = /var/log/mysql/mysql-slow.log
 long_query_time = 2
日志查询,未使用的索引

 #
 #以下内容可以用于重放备份日志或复制。
 #server-id = 1
 log_bin = /var/log/mysql/mysql-bin.log
 #警告:使用expire_logs_days没有bin_log崩溃服务器! 请参阅README.Debian!
 expire_logs_days = 10
 max_binlog_size = 100M
 #binlog_do_db = include_database_name
 #binlog_ignore_db = include_database_name
 #
 InnoDB默认启用,在/ var / lib / mysql /中有一个10MB的数据文件。
 #阅读手册了解更多InnoDB相关选项。 有许多!
 #* InnoDB插件
 #从MySQL 5.1.38开始,Oracle的InnoDB插件被包含在MySQL源代码中。
 #它比内置的InnoDB存储引擎有许多改进和更好的性能。
 #请阅读http://www.innodb.com/products/innodb_plugin/了解更多信息。
 #取消注释以下两行来使用InnoDB插件。
 ignore_builtin_innodb
插件负载= innodb的= ha_innodb_plugin.so

 #
 #*安全function
 #
 #也阅读手册,如果你想chroot!
 #chroot = / var / lib / mysql /
 #
 #为了生成SSL证书,我推荐OpenSSL GUI“tinyca”。
 #
 #ssl-ca = / etc / mysql / cacert.pem
 #ssl-cert = / etc / mysql / server-cert.pem
 #ssl -key = / etc / mysql / server-key.pem



 [mysqldump的]
快
引号名称
 max_allowed_pa​​cket = 16M

 [MySQL的]
 #no-auto-rehash#mysql更快的启动,但没有标签填充

 [使用isamchk]
 key_buffer = 16M

 #
 #* NDB群集
 #
 #请参阅/usr/share/doc/mysql-server-*/README.Debian了解更多信息。
 #
 #以下configuration由NDB数据节点(ndbd进程)读取
 #不是来自NDBpipe理节点(ndb_mgmd进程)。
 #
 #[MYSQL_CLUSTER]
 #ndb-connectionstring = 127.0.0.1


 #
 #*重要:可以覆盖这个文件的其他设置!
 #
 !includedir /etc/mysql/conf.d/

更新安装sysstat并configuration它以收集每分钟后的数据我有以下数据。 我用sar生成以下输出:

日志文件太大,所以coudn't进入它在这里,但上传到box.net。 链接是http://www.box.net/shared/xc6rh7qqob

第二次更新我们在后台启动了一个ping命令,解决了这个问题。 现在服务器从一周以后就开始工作了。 我们仍然不知道有什么问题。

你的服务器负载很重吗?

您是否检查过您的系统资源是否耗尽? 包sysstat是监视系统资源的好方法。

服务器在一段时间后会发生“解冻”,还是完全locking,直到重新启动?

我目前在自己的服务器上看到了类似的行为,所以我想知道更多问题,现在它有很多相似之处。

听起来像一个networking连接问题。 您已经从范围中删除了硬件,并且整个服务器都无法访问,如果不在日志中的某个级别上进行反思,则这不太可能成为系统问题。 如果服务器没有重新启动,或者日志中没有影响所有内容的问题 ,请关注networking。

本地磁盘或SAN / NAS的MySQL数据文件夹? 我在iSCSI目标上挂载了/ var / lib / mysql并且在大索引重新编译期间溢出了TOE缓冲区时,看到了类似的,莫名其妙的行为。