0

私はubuntuでLAMPセットアップを実行しています。このセットアップを使用して、mysqlを必要とするWebインターフェイスでtorrentfluxを実行しています。

すべてが数日間期待どおりに機能し、その後、「ソケットを介してローカルMySQLサーバーに接続できません」/var/run/mysqld/mysqld.sock「(111)」が表示されます。

問題を解決するために再起動しましたが、問題を解決するという不便さは問題を解決するという見返りを超えており、問題を解決する別の方法を見つけたいと思います。

Mysqlは、torrentfluxのLAMPセットアップでの唯一の失敗です。Torrentfluxはまだヒルと種をまきます。mysqlなしで制御インターフェースを失うだけです。Apacheはまだ期待どおりに機能します。

はい、Webインターフェイスを使用しようとするとエラーが出力されるまでmysqlは実行されています。その後、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つのオプションがあります。

  • メモリを占有しているアプリケーションを見つけて、更新または交換できるかどうかを確認します。
  • マシンのメモリを増やします(最初に失敗した場合はおそらく最良のオプションです)
  • スワップスペースを追加します(かなり遅くなる可能性があります)

編集前の古い答え;

必要なrootではなく、通常のユーザーとしてMySQLを起動しようとしているため、このメッセージが表示されます。

試す;

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 に答える