【发布时间】:2015-10-22 18:39:06
【问题描述】:
我很难弄清楚为什么我的数据库总是崩溃。
最后一个status是这样的:
* /usr/bin/mysqladmin Ver 8.42 Distrib 5.6.16, for debian-linux-gnu on x86_64
Copyright (c) 2000, 2014, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Server version 5.6.16-1~exp1
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/run/mysqld/mysqld.sock
Uptime: 21 hours 19 min 24 sec
Threads: 8 Questions: 1431709 Slow queries: 0 Opens: 799 Flush tables: 1 Open tables: 117 Queries per second avg: 18.650
这是崩溃前不久的日志: PASTEBIN
我知道我有很多查询(我相信)只有 ~22 小时,但这只是内部使用,所以没有其他负载。 我用 256MB 运行,是不是太低了?
我读到一些关于 MySQL 的“慢速/迷你”设置,这有用吗?
编辑:
运行 mysqltuner,它给了我: 最大可能的内存使用量:352.4M(已安装 RAM 的 161%)
我怎样才能减少呢?
【问题讨论】:
-
减少
innodb_buffer_pool_size中的my.cnf值(它告诉您它无法在日志中分配足够的内存)。另外,您是否打开了file_per_table?您的文件描述符用完了。到底有多少进程正在访问您的 MySQL?一个或多个? -
我的conf中没有这个pool_size,我应该添加它吗?我在哪里可以看到处理器?也不知道在哪里设置file_per_table。我是一个非常初学者...
-
是的,只要将它们添加到您的
my.cnf,如果它们还没有在文件中。 -
您的系统有交换空间吗?如果没有,您可能会受益于 1GB 左右的交换空间。输入
free -m。如果你有交换,它将显示在输出的最后一行。
标签: mysql ubuntu innodb mysql-5.6