CAT | DB
[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/- 外部キー制約
- トランザクション
- 頻繁なINSERTやUPDATE、DELETE
がある場合はInnoDBを使わないといけない。
MyISAMはテーブルロックだし、トランザクションや参照制約もない。
なんでかMyISAMのほうがデフォルトになってるんだけど、基本的には「特別な理由がない限りInnoDB」が正解だと思う。
ちなみにMyISAMを使うべき特別な理由
- 特にパフォーマンスが求められる
- SELECTがほとんど
- 同時に複数の更新系のクエリが走らない
のANDだと思うんだけど、よっぽど注意深く作らないとデッドロックとか過剰なロックで逆にパフォーマンスを下げるから、基本的にはInnoDBでいいんじゃないかなあ。
ここのページを参考にシェルスクリプトを作成
けっこう多く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っていう感じで。
