chat-blog

僕の独り言が誰か一人の役に立つことを祈って

*

【Zabbix】セットアップ中に、Error connecting to database: No such file or directoryが出たときの対処法

   

検証でzabbix3.0のインストールをしていて何度かハマったので残しておきます。

PR

事象

Zabbixをインストールした直後、ブラウザからセットアップしてて、
Configure DB connection
の最中に、
Error connecting to database: No such file or directory

表示されてしまう。

mysqlもzabbix-serverも上がってるはずなのに・・・

原因

Zabbix(正確にはPHP)が
mysql.sock
を見つけることが出来ずに、発生している。
mysqlが吐き出しているmysql.sockの場所と、
PHPが探しに行くmysql.sockの場所が一致していないという。

そりゃプロセスは上がっててもお互いが認識していないんじゃ何も意味がない。思いはしっかり伝えなければ。

/etc/my.cnfの内容確認

というわけでまずは
/etc/my.cnf
を確認してみる。
すると、

と書かれている。

php.iniの内容確認

次に、
php.ini
を確認してみる。

みっつも設定するっぽそうな項目がある。
そして何も設定されていない。
「デフォルトどこになってるんだろう」って話ですが、
どうやってコンパイルしたかによります。
だいたい、
/tmp/mysql.sock
とかになってるんじゃないでしょうか。

※php -i を上手いことgrepすれば確認できると思います。

なるほど、それぞれが違う場所を見に行ってるようだ

つまり、mysql側での設定で、
socketが、
/var/lib/mysql/mysql.sock
に吐かれてるのに対し、
PHP側では、
/tmp/mysql.sock
を見に行っているため、PHPがDBを見つけることができてない状態というわけです。

解決方法は2パターン

お察しかもしれませんが、

  • mysql側のconf(my.cnf)をPHP側に合わせる
  • PHP側のconf(php.ini)をmysql側に合わせる

です。
他にアプリケーションが動いたりしていないのであれば本当にどっちでもいいと思います。

ちなみにphp.iniだとそれっぽい項目が3つあったけど、どれを変えればいいの?

試してみた結果、
; mysqli.default_socket =
を変えれば上手くいきました。
こんな感じに。

が、もしやってみて駄目だったら3つに同じパスを書いてあげれば間違いないと思います。

mysql側を変更したらmysqldの再起動、
php側を変更したらapacheの再起動を忘れずに。

そんな感じです。

今日の一言

昔zabbixって名前かっけーなーって思ってました。

スポンサーリンク

スポンサードリンク

スポンサードリンク

最後まで見ていただきありがとうございます。
今後とも頑張って更新していきますのでもしよろしければ
下記お一つでもシェアしていただけると幸甚です。
Facebookでシェア Twitterでシェア はてなブックマーク LINEで送る

 - 技術系

  関連記事

pythonで正規表現を使って文字列を検索してマッチした全てを出力する

プログラミングしていて、 とあるファイルや外部サイトのHTMLだとかを部っこ抜き …

【Linux】ソートして重複行を削除してそのままファイルを上書きさせる方法

微妙に悩んだのでメモメモ

Route53とムームードメインを使って独自ドメイン取得したよ!

毎度、チャットです。 ブログが出来上がって「さあこれから更新だ」ってなって、 「 …

【GIT】Masterブランチをcloneして別ブランチをローカルで作ってpushする

ふとMasterをcloneしてきて動作検証してる中で書き換えたりしちゃって、 …

【Swift・X-Code】terminating with uncaught exception of type NSExceptionが出た時に確認するところ

ビルドは通ったのにエミュレーターが起動したときに起こるやつです。

またもこのブログ(word press)で「bad gateway 502エラー」がでました。

今日は19:30頃には会社をでて(僕の会社は10時出社の19時定時)、 早めに家 …

WordPressで投稿した記事がなかなか反映されなくて震えた

タイトルの通りなんですけど、 困るというより不安になりますね。 なんとか解決にい …

知らないと大惨事に・・・DNSのSPFレコードにはincludeできる上限がある件(10回)

意外と情報がなく、知らずに馬鹿みたいにIncludeすると大変なことになるのでメ …

【Git】ローカルで編集した内容を元に戻す方法

ローカルでいろんなファイルに変更を加えた後に、 「・・・よし、cloneしてきた …

【Ansible】複数のリスト(配列)をループさせて全パターンを網羅する方法

いわゆるnested loopをAnsibleでって話です。配列同士を入れ子にし …

※コメントですが僕が確認してからとなるのでだいたい3日後の反映となります。

Message

メールアドレスが公開されることはありません。