MySQLデータベースを自動的に最適化させてみます…

データベースが不調でサイトにすら接続不能…てことで半年ほど前に解決させたんですが、このところ頻繁に発生するようになって困っていました。その頻度はもう2日から3日。もう手動で解決なんてらちがあきません…。

原因はMySQLデータベースのテーブルに発生するオーバーヘッドということだそうです。そこでグーグル先生に助けを求めることに。

すると2種類の解決方法を見つけることができました。

  • サーバーのcron機能を使って定期的にデータベースの最適化を行う。
  • WordPressのプラグイン「WP-DBmanager」を使って定期的にデータベースの最適化を行う。

具体的な設定方法をいかにまとめてみました。もちろん私の備忘録としてなので過不足があるかもしれません 😳

続きを読む MySQLデータベースを自動的に最適化させてみます…

データベースエラーが出てました…

それは3日前のこと。このブログへ新しく投稿しようとアクセスしたところ、データベースエラーとして503エラーを吐いてくださいました。

最初はサーバーの問題ですぐに復旧するだろう…と思っていたのですが、なかなか復旧する様子が見られず。で、当サーバーと同じサーバーを使っているサイトはどうなんだろうとアクセスしてみると正常に表示される…。

じゃぁWordPressのデータベースがまずいのかなぁ…と管理画面へ。管理画面は問題なくアクセスできました。さらにWordPressのデータベースが収まっているMySQLを操作するためphpMyAdminにアクセスしてみると…。

#1203 – User xxxx already has more than ‘max_user_connections’ active connections

としてデータベースにアクセスできない状態だということを確認。データベースをいじろうにもphpMyAdminにログインしなければにっちもさっちもいかない訳で…。

で、できることはただ1つ。このエラーでグーグル先生に質問すること。そのお答えとしては、どうやらアクセス過多でエラーを起こしているとのこと。そこでまずはサイトへのアクセスを自分のIPからのみになるよう .htaccess を変更。

order deny,allow
deny from all

# 自分のIPのみを許可する
allow from ***.***.***.**

これでphpMyAdminにログインできるようにはなりました。…が、実は前回した操作というのがWordPressのアップデート。そこからはプラグインも追加していないので何が原因かさっぱり。

そこで同じ様なエラーで困っていた人がいないかグーグル先生に再度質問。するとデータベースの最適化で復旧するしている人を多数発見。phpMyAdminにアクセスできないからとコマンドで最適化されていた方もいたものの、さすがにそれは難しそうだったし、すでにphpMyAdminにはアクセスできるようになっていたのでphpMyAdminを使って最適化する方法を探しました。

…と何のことはなく、WordPressのデータベーステーブルのうちオーバーヘッドが生じているテーブルを選択して、テーブルが表示されている下にあるプルダウンメニューからテーブルを最適化するを選択するだけ。これでこのサイトの表示が戻ってきました。

この後、本来ならテーブルの修復を実施しないといけないようなんですが、どこが怪しいのか…といったところ。とりあえず怪しそうなのを適当に修復をかけておきました。

こうして今のところ、とりあえずは表示されている模様。グーグル先生と先達の方たちに多謝です 🙂

なお、参考にさせていただいたのは次のサイトです。本当にありがとうございます。

.htaccess によるアクセス制限について
こんなでいいのか?という復帰方法 – MMRT daily life
データベース修復について
pc.casey.jp ? coreserver データベース接続が壊れた!
DB不調でアクセス出来ず | Way2Go
phpMyAdminによるデータベースの最適化について
phpMyAdmin から MySQL の最適化 〜WordPressを快適に使うために〜:トイレのうず/ぼやき

Windows 7でApache+PHP+MySQLを構築・VirtualStoreの罠へ!

さて、メインパソコンがXPからWindows 7になったということで、プラグインやテーマのデバッグのためのWordPress用ローカルサーバを構築することにしました。結果として構築はできたものの、最初から躓きっぱなしで半日以上をつぶす結果になりましたが…。具体的に何で躓いたかというとこんなところ。

  • Apacheの設定ファイルhttpd.confでlocalhostとしたいフォルダを指定しているのに反映されない
  • PHPもMySQLも入れたのにPHPファイルからMySQLデータベースにアクセスするとページが開かない
  • WordPressのトップページは開くのに個々のページは本当の404エラーを返す

ここでは備忘録もかねてそれぞれの構築を記しておこうと思います。今回のインストールで最も重要なキーワードはVirtualStoreです :mrgreen:
(それ以外は別にWindows 7じゃなくても問題になるときは問題になるので 😛 )

WordPressに必要なものはPHPモジュールとMySQLというデータベースソフト。そしてこれらを動かすためのサーバソフトであるApacheです。今回利用したのバージョンは現在の最新である下記のものです。

  • Apache 2.2.14
  • PHP 5.2.10
  • MySQL 5.1.40

そしていずれもインストーラつきのものを選択。めんどくさかったので手間を省くためにせんたくしたのですが、これがそもそもの罠にはまる始まりでした。

というのも、インストーラは指示に従ってインストールするといずれもProgram Filesというフォルダに保存されます。XPなら別段これといって問題はありません。XPなら。今回はWindows 7にインストールしているというで、問題にぶち当たるのです…。

続きを読む Windows 7でApache+PHP+MySQLを構築・VirtualStoreの罠へ!

Apache・PHPバージョンアップ

ローカルでのApahce・PHPのバージョンアップを試みることにしました。Apacheは2.0から2.2に、PHPは5.2.3から5.2.5へ移行です。たまたま思い立っただけだったんですが、ほぼ1日をつぶしてしまいました。

今回はApacheもPHPもWindows用のインストーラーを使いました。これで最も痛かったのはPHPとMySQLの接続です。MySQLが読み出せないってエラーが出るのですから(T-T)

続きを読む Apache・PHPバージョンアップ

MySQLのインストール

今日も引き続き環境設定をしています。昨日でApache2とPHP4をインストールできたのですが、PHP4の代わりにPHP5に変更することにしました。Versionが高い方が良いのかな…という単純な理由ですけど。

PHP5にしてからPHP言語について買ってあったPHPの本を参考にして少しいじってみました。感じとしてはC言語によく似ているなぁ…といったところ。大学でもC言語を教わっておいて良かったなぁと思います。おかげで大学院での研究で必要になったVCでも、リアル引っ越しで止めるまで勤めていた会社でも、C言語を習っていたおかげでソースコードに対して拒絶反応を示さずに済んだんですから。

でもMySQLをインストールしてからがよく分からないんですよね。MySQL5.0をインストーラーの設定そのままでインストールを済ませたんです。WindowsXPなので管理ツールのサービスでも動いていることは確認できてます。で、phpMyAdminをインストールしたんですが、”#1045″というエラーを吐いてくれるんですよ。WordPressの本などの通りに設定ファイルを作ってocalhostにコピーしてもダメでした。何が原因なんでしょうかねぇ…(-_-;

…と、その後にネットでいろいろと調べたところ、phpMyAdminからindex.phpを呼び出して直接設定を作るのはダメなようでした。で、phpMyAdminのlibrariesの中にあるconfig.default.phpを使ってconfig.inc.phpとして中身を変えることで何とかなりました。最も参考になったのは次のページでした。

Windows+Apache+PHP+MySQL(5.0)によるWebアプリケーション

やはりこういうときに頼るべきはインターネットなんでしょうかねぇ…。

次はphpMyAdminの操作方法かPHP言語のお勉強かのどちらかになりそうです。でもphpMyAdminにはインストールした時点ですでにデータベースが3つほど存在して居るんですよ。これって消してしまっても良いもんなんでしょうかね?