急遽 MySQL を使うことになったので、ざっくりインストール。
普段は PostgreSQL 使いで、MySQL は3回くらいしか触ったことがない。とにかく慣れないにもんで、わけも分からないまま、Google 先生に教えを請いながら何とか動作するに至る。人生いろいろ、DBもいろいろである。ふぅ。
今回は MySQL4.1系を採用。5.0系の方が良いんじゃないのかなーと思ったけど、前任SEの推奨環境が MySQL4.1系になっていたので、そこは長いものに巻かれていきます。基本、流れ重視です。
ということで、手順をメモメモ。
まずは、ログイン不要のmysqlユーザを作成。
# groupadd mysql # useradd -M -g mysql mysql
続いて、ソースを展開してmake。configureするときのオプションは、文字コードだけ意識したけど、あとは寄せ集め。良いのか、そんなんで。
# tar xvfz mysql-4.1.22.tar.gz # cd mysql-4.1.22 # ./configure --prefix=/usr/local/mysql \ --localstatedir=/usr/local/mysql/var \ --with-mysqld-user=mysql \ --enable-assembler \ --enable-thread-safe-client \ --with-charset=ujis \ --with-extra-charsets=all \ --with-openssl # make # make install
続いて、基本設定ファイルを作成。
# cd /usr/local/src/mysql-4.1.22/support-files # cp my-medium.cnf /etc/my.cnf
データベースを初期化。
# /usr/local/src/mysql-4.1.22/scripts/mysql_install_db
各ディレクトリの所有者を変更する。
# chown -R root /usr/local/mysql # chown -R mysql /usr/local/mysql/var # chgrp -R mysql /usr/local/mysql
ここまで来たら、ついに起動。
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
これでOKかなーと思って、APサーバのアプリケーションからつないでみたら、見事「Can't connect」と怒られる。いやいや、もうちょっと頑張ってくれ。そんなバッサリ切り捨てなくても良いじゃないか。
調べてみると、アクセス権限あたりが怪しいっぽい。そうか、GRANTはやってないや。
# mysql -u root mysql mysql > GRANT ALL PRIVILEGES ON *.* TO root@localhost mysql > GRANT ALL PRIVILEGES ON *.* TO root@"ap.server.name"
それから途中で、mysql用のポートを開けるのを忘れていたことを思い出した。iptablesにて、mysqlのデフォルトのポート番号3306をACCEPTに設定。いつもファイアウォールまわりは忘れるんだよなあ…いかんいかん。
ということで、無事インストールと設定は完了。開発用としてはこんな程度で大丈夫かな。本番環境を整えるまで、ちょっとセキュリティまわりとか勉強しとかないとダメかもなあ。
お疲れさまでした。