0

我在 ubuntu 上运行了 LAMP 设置。我正在使用此设置通过需要 mysql 的 Web 界面运行 torrentflux。

几天后一切正常,然后我得到'无法通过套接字'/var/run/mysqld/mysqld.sock'(111)连接到本地MySQL服务器'

我重新启动以解决问题,但现在这样做的不便已经超过了解决问题的回报,我想找到另一种解决问题的方法。

Mysql 是 torrentflux 的 LAMP 设置中唯一的失败。Torrentflux 仍然如其应有的水蛭和种子;我只是失去了没有mysql的控制界面。Apache 仍然按预期做事。

是的,mysql一直在运行,直到我尝试使用web界面时输出错误,然后无法重新启动mysql服务器。

$ sudo service mysql start
start: Job failed to start

Ubuntu版本:

Distributor ID: Ubuntu
Description:    Ubuntu 12.04.1 LTS
Release:    12.04
Codename:   precise

G/usr/bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)'
Check that mysqld is running and that the socket: '/var/run/mysqld/mysqld.sock' exists!
130126 14:42:15 [Note] Plugin 'FEDERATED' is disabled.
130126 14:42:15 InnoDB: The InnoDB memory heap is disabled
130126 14:42:15 InnoDB: Mutexes and rw_locks use GCC atomic builtins
130126 14:42:15 InnoDB: Compressed tables use zlib 1.2.3.4
130126 14:42:16 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
130126 14:42:16 InnoDB: Completed initialization of buffer pool
130126 14:42:16 InnoDB: Fatal error: cannot allocate memory for the buffer pool
130126 14:42:16 [ERROR] Plugin 'InnoDB' init function returned error.
130126 14:42:16 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
130126 14:42:16 [ERROR] Unknown/unsupported storage engine: InnoDB
130126 14:42:16 [ERROR] Aborting

mysql 一直在运行,直到我将其关闭。

重新启动可以解决一段时间的问题。我希望有一个不那么激烈的解决方案。

4

2 回答 2

1

编辑:你改变了你的问题,所以把旧答案移到下面。

无论哪种方式,您在日志中得到的内容都相当清楚。

130126 14:42:16 InnoDB: Initializing buffer pool, size = 128.0M
InnoDB: mmap(137363456 bytes) failed; errno 12
130126 14:42:16 InnoDB: Fatal error: cannot allocate memory for the buffer pool

errno 12表示你内存不足。MySQL 尝试为缓冲池分配 128MB,但找不到那么多可用内存。

我不确定您运行的是哪种机器,但您基本上有 3 个选项;

  • 找出占用内存的应用程序,看看是否可以更新或换掉它。
  • 为机器获取更多内存(如果第一次失败,可能是最好的选择)
  • 添加一些交换空间(可能会减慢速度)

编辑前的旧答案;

您收到该消息是因为您尝试以普通用户身份启动 MySQL,而不是按照要求以 root 身份启动。

尝试;

sudo service mysql start
于 2013-01-26T15:11:15.467 回答
0

将此添加到您的 my.ini 中:

[mysqld] 
innodb=OFF 
ignore-builtin-innodb 
skip-innodb
default-storage-engine=myisam 
default-tmp-storage-engine=myisam

它对我有用:)

于 2013-08-21T06:02:56.137 回答