勉強したことのメモ

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

 - サーバー

  関連記事

CentOS6でSFTP接続する

VSPでFTP接続からSFTP接続に移行したかった。以下に方法をメモ。 &nbs ...

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

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

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

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

WordPressのメール送信フォームに画像認証を設置する

■やりたかった事 ココで作成したメール送信フォームに画像認証を設置する ■方法 ...

VirtualHostを設定しIPアドレスでもアクセスしたい

apacheでVirtualHostを設定しつつ、IPアドレスでもアクセスしたか ...

サーバー監視はNew Relicが楽に導入できて便利

サーバー監視はNew Relicが楽に導入できて便利だった。 メモリ使用率やCP ...

SSHのセキュリティ設定

SSHのセキュリティ設定をする事があった。設定内容は指示を貰えたので作業自体は問 ...

WordPressサイトのロードアベレージが高い

あるWordPressサイトのロードアベレージが先月ぐらいまでは通常0.5前後で ...

lightboxでCSPエラーが発生

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

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

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