勉強したことのメモ

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

 - サーバー

  関連記事

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

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

さくらVPSでLAMP環境とphpMyAdminとFTP接続環境を整える

さくらVPSでLAMP環境とphpMyAdminとFTP接続環境を整える ■環境 ...

CentOS6.10に無料SSL(Let's Encrypt)を導入

以前にもVPSにLet's Encryptを導入するという記事を書いたが、テスト ...

VPSにメールサーバを導入する方法

VPSにメールサーバを導入したかった。具体的にはThunderbirdでメールの ...

サーバ内の各種設定ファイルの場所

サーバ内の各種設定ファイルを編集する際にいつもfindコマンドで検索したり、ググ ...

サーバー監視レポートメールを受信する(Logwatch)

サーバーの各種ログを整形してメールで送ってくれる Logwatchというものがあ ...

サーバのホストネーム(hostname)を確認する

「そのサーバのホストネーム調べて」と言われて 調べ方が分からなかったのでメモ。 ...

yumで既にインストールされているか確認する

新しくインストールする前に既に入っているか どうか確認したかった。 yum li ...

FTP接続する際のユーザーとグループ設定

共用のレンタルサーバーを使用する時には気にならないが、VPSや専用サーバーを使う ...

MySQLが起動も再起動もできない

サイトで障害が発生した。FTPやSSH接続は出来るけどサイト自体は表示されない。 ...