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で送る

 - 技術系

  関連記事

ansible-logo
【ansible】”ERROR! ‘unicode’ object has no attribute ‘xx’とかいうメッセージがでる

  最近仕事でansibleに触れてて久しぶりに開発っぽいことしてて生 …

ruby-on-rails-development
【Docker入門】さくっと5分でrailsアプリを立ち上げてみた

dockerのイメージがぼんやりなので、お勉強として自身のMacにDockerを …

command_line
linuxで大文字を小文字、小文字を大文字に変換させたいときのコマンド

tr を使う。   ・小文字を大文字する場合 tr ‘[a …

post_2802_0830
【へぇ】IT業界でよく見る、rc版、とかga版とはなんぞや

掲題の件について調べてみました。 PR 結構仕事でいろんなansibleなどとい …

oracle12
馬鹿でもできた、CentOs6(仮想)にOracle12cをインストールする手順

とても反感を喰らいそうな題名ですが許してください。 先日、「へーOracle12 …

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

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

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

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

無意味
Apache2.4からDefault Typeディレクティブの指定がほぼ無意味になった

Apache2.4の設計をしていて、 「ほええええ」って思ったことがあったのでメ …

command_line
お名前.comの共用サーバにSSHで接続できない件について【解決済み】

友人がお名前.comでサーバを借りてHPを作りたいとのことで、 お手伝いすること …

ssh
EC2にSSHで繋いでて「Write failed: Broken pipe」とでて接続が切れるときの対処法

僕はハイボールが好きなのですがなんというか黄金比率はないものかいつも悩んでるブラ …

Message

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

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">