ほりうちの雑記帳 | {PHP,CMS,iPhone,…}

CAT | DB

7月/10

2

apache+php+mysql野良ビルドログ

[apache](first)
cd srclib/apr
./configure –prefix=/usr/local/apr-httpd/
make
sudo make install

cd ../apr-util/
./configure –prefix=/usr/local/apr-util-httpd/ –with-apr=/usr/local/apr-httpd/
make
sudo make install
echo いつかこれらも追加–with-ldap=yes –with-ldap-include=/usr/include/ –with-ldap-lib=/var/lib/ldap

cd ../../
CFLAGS=”-march=core2 -O3″ ./configure –prefix=/usr/local/apache2 –with-apr=/usr/local/apr-httpd/ –with-apr-util=/usr/local/apr-util-httpd/ –disable-actions –disable-asis –disable-autoindex –disable-imagemap –disable-include –disable-negotiation –disable-setenvif –disable-status –disable-userdir –enable-auth-dbm –enable-auth-digest –enable-authnz-ldap –enable-dav –enable-dav-fs –enable-dav-lock –enable-expires –enable-mime-magic –enable-rewrite –enable-ssl –enable-vhost-alias –with-mpm=prefork –enable-static-support
make
make install
echo 次のオプションもいつか追加–enable-ldap

[MySQL]
CFLAGS=”-O3 -march=core2 -I/usr/local/include” CXX=gcc CXXFLAGS=”-O3 -march=core2 -felide-constructors -fno-exceptions -fno-rtti -I/usr/local/include” LDFLAGS=”-L/usr/local/lib” ./configure –with-charset=utf8 –with-collation=utf8_general_ci –with-extra-charsets=none –with-client-ldflags=-all-static –with-mysqld-ldflags=-all-static –enable-static –disable-shared –with-readline –with-mysqld-user=mysql –enable-assembler –enable-thread-safe-client –with-plugins=csv,innobase,innodb_plugin,myisam,heap

[PHP]
./configure –with-mysql –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql-sock=/tmp/mysql.sock –with-mysqli=/usr/local/bin/mysql_config –enable-mbstring -with-gd –with-zlib –enable-sigchild –enable-zend-multibyte –disable-ipv6 –enable-socket=static
echo 次コンパイルするときは–disable-cgiとかもうちょっと厳密にしよう

[apache](second)
cd srclib/apr
./configure –prefix=/usr/local/apr-httpd/
make
sudo make install

cd ../apr-util/
./configure –prefix=/usr/local/apr-util-httpd/ –with-apr=/usr/local/apr-httpd/
make
sudo make install
echo いつかこれらも追加–with-ldap=yes –with-ldap-include=/usr/include/ –with-ldap-lib=/var/lib/ldap

cd ../../
CFLAGS=”-march=core2 -O3″ ./configure –prefix=/usr/local/apache2 –with-apr=/usr/local/apr-httpd/ –with-apr-util=/usr/local/apr-util-httpd/ –disable-actions –disable-asis –disable-autoindex –disable-imagemap –disable-include –disable-negotiation –disable-setenvif –disable-status –disable-userdir –enable-auth-dbm –enable-auth-digest –enable-dav –enable-dav-fs –enable-dav-lock –enable-expires –enable-mime-magic –enable-rewrite –enable-ssl –enable-vhost-alias –with-mpm=prefork –enable-static-support –enable-module=so –enable-headers

echo phpを静的に組み込むにはどうすれば・・?DSO使いたくないお
echo ldap..

make
sudo make install

/usr/local/apr-httpd/

6月/10

2

MyISAMとInnoDBの違い

  • 外部キー制約
  • トランザクション
  • 頻繁なINSERTやUPDATE、DELETE

がある場合はInnoDBを使わないといけない。

MyISAMはテーブルロックだし、トランザクションや参照制約もない。

なんでかMyISAMのほうがデフォルトになってるんだけど、基本的には「特別な理由がない限りInnoDB」が正解だと思う。

ちなみにMyISAMを使うべき特別な理由

  • 特にパフォーマンスが求められる
  • SELECTがほとんど
  • 同時に複数の更新系のクエリが走らない

のANDだと思うんだけど、よっぽど注意深く作らないとデッドロックとか過剰なロックで逆にパフォーマンスを下げるから、基本的にはInnoDBでいいんじゃないかなあ。

· ·

3月/10

29

CORESERVERでDBを自動バックアップ

http://dxd8.com/archives/168/

ここのページを参考にシェルスクリプトを作成

けっこう多くDBを動かしているのでDBごとにフォルダを分けたいよねということでちょっと改変

#!/bin/sh
# ———- 設定 ———-
# バックアップ元のデータベース
db_name=データベース名
db_pass=データベースのパスワード
# バックアップ先のディレクトリ・ファイル
bk_dir=~/backup/$db_name/
bk_file=$db_name
# 保存する日数
bk_days=90

ここ以降は元の記事に同じ。元記事を参照してほしいけど、消えたときのためにコメント中に入れておきます。

shファイルははeucでlfじゃないといけないのに注意してサーバにアップしてcronを設定。
6 7 * * * sh/backup_(dbname).sh >/dev/null 2>&1っていう感じで。

· · ·

3月/10

29

DBがぶっとんだ!!

nob.xsharing.netのDBがぶっ飛んだらしい・・。

部活のとは違って特にバックアップをとってなかったから全部ぶっ飛んだという・・。

まあ、特に残すべきことなんか無かったし、もう一度最初から書いていけばいいよね(ぇ

· · · ·

Get Adobe Flash playerPlugin by wpburn.com wordpress themes

Theme Design by devolux.nh2.me