PLESKのmysqlに接続できない

取引先のホスティング業者さんから相談を受けたメモ。

PLESKというのは、レンタルサーバの業者さんなんかがよく使うホスティングツール。
大ざっぱには、独自ドメインによるWebサイトとメールアドレスの管理が(エンドユーザでも)できるものである。
個人的にはよくできているツールだと感心している。

PLESKとmysqlの関係はこうである。
エンドユーザから見た場合、業務データ(Wordpressなど)の管理が主たる目的となる。
が、PLESK本人のシステム情報や管理しているドメインの
世間的には「リポジトリ」的な役割を持っているということである。

当然、このmysqlにはバックアップの運用が望まれる。
問題点は、そのまさに夜間のバックアップジョブがabendするということ。

==========

調査の結果、ジョブ内部のDB接続がパスワードの誤りでコケていることが分かった。
しかし、管理者さんが言うには次のとおりである。

DBの接続パスワードはPLESKが生成するファイルを使っているので間違うはずがない

なかなか信じられない話、PLESKというツールは、下記ファイルに管理者パスワードが記述されているという。

/etc/psa/.psa.shadow

もちろんパスワードはエンコードされているのだけども、エンコードされたままでコマンドラインに叩き込めば接続できてしまう。
PLESKから管理者パスワードを変更すると、このファイルも変更される、ということである。

よくも悪くも、パーミッションを適切に設定しておけば、夜間のバックアップジョブなどで活躍するファイルということになる。

よくよく観察してみると、.psa.shadowファイルは日付が19日になっていた。
管理者に聞いてみると、

そういえば19日はPLESKのアップデート通知が来ていて、mysqlもアップデートされたようなメッセージがあった

という。
ここに問題があるのだろうと疑い、最終的に.psa.shadowファイルは末尾に改行があることに気づく。

バックアップジョブの中で.psa.shadowファイルを読み込んだところで改行を取り除く処理を追加することで状況は改善。
(.psa.shadowは動的に変化することから、ファイルから改行を取るという選択はない)

言い方は悪いが、所詮バックアップジョブなので、本来のエンドユーザには特にご迷惑はかかってない様子。
同じ方式でバックアップジョブを組んでいる人は注意しよう。
(といっても、PerlでDBI->Connectをやってる人に限られるけど)

つかこれ、オレの出番だったんだろうか。

コメントを残す

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

CAPTCHA


名前:たにさん or たにぐちさん
職業:むかし、元オタク
  • アーカイブ

  • 最近の投稿

  • 最近のコメント

  • イマ☆ドキ地味なアクセス件数