リード開発メモ

大阪のソフトウェア会社です。 技術的な事柄についてのメモとしてブログを始めます。

2012年12月

XAMPP Apache ドキュメントルート変更

htdocs から htdocs2 に変更する場合。

1. C:\pleiades\xampp\apache\conf\httpd.conf を編集する。2箇所書き換える。

1箇所目
DocumentRoot "C:/pleiades/xampp/htdocs"

DocumentRoot "C:/pleiades/xampp/htdocs2"

2箇所目
<directory>

<directory>


2. C:/xampp/apace/conf/extra/httpd-xampp.conf を編集する。

<directory> の上に
Alias /xampp "C:/pleiades/xampp/htdocs/xampp/"
を追加。

また、上で編集した <directory> に対応した </directory> の上に
AllowOverride AuthConfig
Order allow,deny
Allow from all
を追加。

Apache をリスタートして
http://localhost/ で C:/pleiades/xampp/htdocs2 が見え、
http://localhost/xampp/ で xampp の管理画面が見えれば成功。

MySQL の OPTIMIZE TABLE

MySQL に何度も大量のデータを登録する必要があったので、テーブルのメンテについて調べた。

http://nippondanji.blogspot.jp/2010/09/innodb.html

少し話がそれてしまったが、OPTIMIZEが必要になるのはどういう時だろうか?簡単にいうと、「行をDELETEのして無駄な領域がたくさん生じたとき」だけである。これによって、利用されていない領域が回収されることになる。そして、フラグメンテーションが解消するわけである。

実は、InnoDBにはOPTIMIZE TABLEに相当する機能は実装されておらず、代わりにALTER TABLEが実行される。OPTIMIZE TABLE t1は次のコマンドを実行するのと同じなのである。

モノホンのOPTIMIZE TABLEだと実行中は参照も更新もブロックしてしまうことになるが、ALTER TABLEであればメンテナンス中も参照は可能なのである。

mysqldump ・・・ 論理バックアップをオンラインで取得する。他の方法に比べると速度は遅め。

MySQL をテーブルごとのデータファイルにする

MySQL をテーブルごとのデータファイルにする方法がある。
設定ファイル C:\pleiades\xampp\mysql\bin\mysql.ini に以下を追加する。

[mysqld]
innodb_file_per_table

eclipse で PHP

とりあえず eclipse を入れてみた。
Pleiades All in One の 32bit、PHP 版。
http://mergedoc.sourceforge.jp/index.html#/pleiades_distros4.2.htm

が、重い。。。

デバッグするために C:\pleiades\xampp\php\php.ini を書き換える。
xdebug.remote_enable = 1
xdebug.remote_handler = "dbgp"
xdebug.remote_host = "localhost"
xdebug.remote_port = 9000
xdebug.remote_log = "C:\pleiades\xampp\php\logs\xdebug.log"
xdebug.collect_params = 1
xdebug.dump.GET = ""
xdebug.dump.POST = ""
xdebug.profiler_enable = 1
xdebug.profiler_output_dir = "C:\pleiades\xampp\tmp"

うむ。ちゃんとブレークポイントで止まる。
しかし重いぞ。どうしよう。。。

MySQL のデータファイル

MySQLで、データベースエンジンにInnoDBを使っていると、デフォルトでは ibdata1 というファイルにデータが蓄積されていくようだ。このファイルはデータが削除されても自動的には縮小されない。

そういうときは、一度 MySQL のダンプを取り、リストアすればいいらしい。

ダンプ
mysqldump --user=uesrname --password=password databasename > xxxx.dump

リストア
mysql --user=username --password=password databasename < xxxx.dump

アクセスカウンター
  • 今日:
  • 昨日:
  • 累計:

livedoor 天気