勉強したことのメモ

webプログラマ見習いが勉強したことのメモ。

Plesk12にログインしようとするとエラー発生

      2018/11/09

Plesk12のログインページを開くと「ERROR: Zend_Db_Statement_Exception: SQLSTATE[42S02]: Base table or view not found: 1146 Table 'psa.sessions' doesn't exist (Pdo.php:234)」と表示されログインできなかった。対応方法のメモ。

 

エラーログを確認する

/var/log/mysqld.logにあるMySQLのログを確認したところ以下エラーが出力されていた。

 

Google翻訳にかけると以下になる。

[ERROR]テーブルpsa / sessionsが見つかりません。
InnoDBの内部データディクショナリは.frmファイルですが、
テーブルが存在する。おそらくあなたはInnoDBデータを削除して再作成したでしょう
対応する.frmファイルを削除するのを忘れてしまった
InnoDBテーブルの.frmファイルを別のデータベースに移動しましたか?
テーブルには、このバージョンのエンジンのインデックスが含まれています
サポートしていません。

http://dev.mysql.com/doc/refman/5.1/en/innodb-troubleshooting.htmlを参照してください。

どのように問題を解決できるか。

psaデータベースのsessionsテーブル? とかいうのが見つからないっぽい。尚、psaデータベースとはPlesk自体の管理用データベースらしい。

 

バックアップを探す

Pleskデータベースは自動で/var/lib/psa/dumps/ディレクトリにバックアップされる。mysql.daily.dump.*.gz(*部分は数字)のファイルがバックアップファイルになる。最新のものをローカルに落として中身を見たところpsaデータベースのdumpファイルだった。

 

psaデータベースの確認

以下で確認する。

ちなみに今回はケース2の方だった。

 

ケース1の場合

 

ケース2の場合

dumpファイルの中にcreate database psaの記述が上部にあるのでコメントアウトか削除した上でサーバにアップする。

 

原因

直近でMySQLのストレージエンジンをMyISAMからInnoDBに変更した。その際に/var/lib/mysqlディレクトリにあるib_logfile0、ib_logfile1、ibdata1のファイルは他所に移した。するとinformation_schema以外で通常時に使っているデータベース(psa以外)がテーブル名は表示されるものの、テーブル内のデータは見られなくなった。ここが原因だと思われる。

通常時に使っているデータベースはバックアップを取っていたのですぐにインポートしたが、psaデータベースは認知していなかったので焦った。

 

その他

以前にCentOSのバージョンを上げてOpenSSHか何かを更新した際に、今回とはまた違うエラーだったとは思うがPleskにログインできなくなった。Pleskの管理画面上以外(SSH接続とか)からサーバ設定を変更するとリスクを伴うので注意する。

 

参考サイト

https://support.plesk.com/hc/ja/articles/213369589--Plesk-%E3%82%92%E9%96%8B%E5%A7%8B%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%9B%E3%82%93-ERROR-PleskFatalException-Unable-to-connect-to-database-Unknown-database-psa-

 

https://support.plesk.com/hc/ja/articles/213904125--Plesk-%E3%83%87%E3%83%BC%E3%82%BF%E3%83%99%E3%83%BC%E3%82%B9%E3%83%80%E3%83%B3%E3%83%97%E3%82%92%E3%83%90%E3%83%83%E3%82%AF%E3%82%A2%E3%83%83%E3%83%97-%E5%BE%A9%E5%85%83%E3%81%99%E3%82%8B%E3%81%AB%E3%81%AF

 - サーバー

  関連記事

images
iptablesが動いているか確認する

iptablesが動いているか確認する方法が分からなかったのでメモ。 servi ...

images
プロキシサーバの接続ログを確認する方法

だいぶ前にVPSにプロキシサーバ(squid)を導入した。接続IPは指定している ...

vps-hosting
CentOS6で公開鍵認証設定

本番稼動しているVPSサーバーでSSHの接続ログをかなり久しぶりに見ると、不正ロ ...

javascript_logo_unofficial-300x300
lightboxでCSPエラーが発生

CSP(コンテンツセキュリティポリシー)設定を行っているサーバーでLightbo ...

domain_world_map
ムームーDNSでエックスサーバを使う

ムームードメインでドメインを取得し、エックスサーバで使う場合にエックスサーバ側の ...

vps-hosting
SSLのセキュリティ設定

SSLのセキュリティ設定をする事があった。指定されたファイルに指定された内容を書 ...

images
crontabコマンドのオプション

ぱっと出てこなかったのでメモ。 -u    ユーザー -l    リスト -e  ...

images
WordPressのWP-Mail-SMTPプラグインが動かない

PHPのバージョンを下げてからWordPressで外部メールサーバが使えるWP- ...

images
WordPressでメモリを節約しつつ高速化する設定方法

メモリ1GのVPSを借りてWordpress以外にも、ちょいちょいものを置いてい ...

images
logrotate

先輩とサーバー会社とのやり取りで、 「負荷の少ない時間帯にサーバー状況がホニャラ ...