サーバ移行後のCORESERVERで、旧MySQLデータベースへphpMyAdmin接続の設定方法

バリュードメインのCORESERVERは、昔から少しばかり通好みではあるが、低価格で多くのことが試せる共有サーバとして知られている。今ではGMO傘下になり、サイトもリニューアルされて、旧来のマニアックなユーザから、Wordpressブログのみのエントリーユーザまで、多くの利用者があるようだ。

そのCORESERVERで現在、大規模なサーバ移行(マイグレーション)が随時行われている。ハード面・ソフト面ともに、諸々が最新システムに移行されており、それはそれでいいことなのだが、移行による弊害が伴うことも事実。

今回の大規模マイグレーションで、私が運用するサイトでも、幾つかが500 Internal Server Errorによるアクセス不全になった。折しも仕事で納期が迫る直前のタイミングで、面倒なことになった。トラブルシューティングに割く時間のゆとりも多くなく、サーバ運営の問い合わせ窓口に問うてもなかなか返事がなく、返ってきても解決には至らない内容で…。もうこれは任せていても仕方ない、ってことで調査した。

端的に、

  • 今回、私のシステムで生じた幾つかの500エラーは、ほとんどがデータベースアクセス不全によるものであった
  • データベースといえば、今回のサーバ移行で、MySQLが5.1から5.7へバージョンアップされている
  • 同時に、旧MySQL5.1についても、2018年3月末頃までは提供される、とのこと
  • 旧MySQLへの接続は、接続ポートを [3306] から[33051]へ変更すればいい

つまり、解決方法は2つ。

[A] 新MySQL5.7へ接続するように書式を見直す
[B] 移行前まで正常稼働していた旧MySQL5.1へ差し向ける


[A]の方法は、時間を掛けてDB接続関連のファイルを調べ尽くすほかない。[B] は、暫定措置期間の2018年3月末頃までとはなるが、今そこにある危機に対しては即対応できる。

ということで、とりあえず [B] にて対応する方法。

設定ファイルのDBサーバを “localhost” から “127.0.0.1:33051” に変更して、正常稼働していた旧MySQL5.1へ差し向ける。

…だけでいい。これで正常にサイトが表示されるようになる。


が、ここで問題が。

CORESERVERにて標準実装されているphpMyAdminでは、この旧MySQL5.1(127.0.0.1:33051)のDB内容を見ることができない。

config.inc.phpを修正する必要があるのだが、移行後はphpMyAdminも4.6にバージョンアップしているので、このままだとエラーになる。旧MySQL5.1には、phpMyAdmin4.0バージョンが必要だ。別途インストールせねばならない。


ということで、以下ターミナルアクセスにて、

$ cd public_html/log/
$ wget https://files.phpmyadmin.net/phpMyAdmin/4.0.10.20/phpMyAdmin-4.0.10.20-all-languages.tar.gz
(...略...)

① public_html/log/にて、phpMyAdmin4.0.10.20をダウンロード。

$ tar pzxvf phpMyAdmin-4.0.10.20-all-languages.tar.gz
(...略...)

② phpMyAdmin4.0.10.20を解凍

$ mv phpMyAdmin-4.0.10.20-all-languages phpmyadmin40

③ 解凍したphpMyAdmin4.0.10.20をリネーム。
(※ ここでは “phpmyadmin40” にリネームした。ちなみに、CORESERVER標準実装のphpMyAdmin4.6のファイル名は “phpmyadmin” なので、それ以外のものに。)

$ cp phpmyadmin/config.inc.php phpmyadmin40/

④ blowfish_secretをそのまま持ってきたいので、標準実装のphpMyAdmin4.6から、今回インストールしたphpMyAdmin4.0へ、”config.inc.php” をコピー。

$ vi phpmyadmin40/config.inc.php

⑤ phpMyAdmin4.0を旧MySQL5.1へ向けるため、コピーしてきた”config.inc.php” をviエディタで修正。

⑥ 30行目辺りの “/* Server parameters */” 情報を書き換える。
以下をコピー&ペースト。

/* Server parameters */
$cfg['Servers'][$i]['host'] = '127.0.0.1';
$cfg['Servers'][$i]['port'] = '33051';
$cfg['Servers'][$i]['connect_type'] = 'tcp';
$cfg['Servers'][$i]['compress'] = false;
$cfg['Servers'][$i]['AllowNoPassword'] = false;

これで、

http://{アカウントID}.{サーバ#}.coreserver.jp/log/phpmyadmin40/

にて、旧MySQL5.1のデータベース向きのphpMyAdminへアクセスできるようになった。

なお新MySQL5.7へは、標準実装されているphpMyAdminは通常通り、

http://{アカウントID}.{サーバ#}.coreserver.jp/log/phpmyadmin/

にてアクセスできる。

 

以上。

 

 

 

Comment

Copied title and URL