MySQL 5.0.45をソースからインストールする on CentOS4.4
インストール方法は書籍やWebサイト各所にたくさんありますが、以外と一発でいかないものですね。
そんなわけで以下の環境にインストールしたばかりですので、メモしておきたいと思います。
- MySQL5.0.45
- OSはCentOS4.4
mysqlユーザの追加
# groupadd mysql # useradd -g mysql mysql
ダウンロード
ソースのダウンロードを以下URLから行います。
MySQL AB :: MySQL 5.0 Downloads
http://dev.mysql.com/downloads/mysql/5.0.html#source
ここでは5.0.45のソース(tar.gz)をダウンロードします。
# cd /usr/local/src # wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.45.tar.gz/from/http://mirror.mysql-partners-jp.biz/ --09:30:47-- http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.45.tar.gz/from/http://mirror.mysql-partners-jp.biz/ => `index.html' dev.mysql.com をDNSに問いあわせています... 213.136.52.29 dev.mysql.com|213.136.52.29|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 302 Found 場所: http://mirror.mysql-partners-jp.biz/Downloads/MySQL-5.0/mysql-5.0.45.tar.gz [続く] --09:30:48-- http://mirror.mysql-partners-jp.biz/Downloads/MySQL-5.0/mysql-5.0.45.tar.gz => `mysql-5.0.45.tar.gz.1' mirror.mysql-partners-jp.biz をDNSに問いあわせています... 59.190.130.254 mirror.mysql-partners-jp.biz|59.190.130.254|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 24,433,261 (23M) [application/x-gzip] 100%[====================================================================>] 24,433,261 479.30K/s ETA 00:00 09:31:43 (444.54 KB/s) - `mysql-5.0.45.tar.gz.1' を保存しました [24433261/24433261]
解凍
# tar zxvf mysql-5.0.45.tar.gz
解凍先へ移動
# cd mysql-5.0.45
コンパイル
# ./configure --with-charset=ujis --with-extra-charsets=all --with-mysqld-user=mysql --prefix=/usr/local/mysql ...(略) Thank you for choosing MySQL! #make #make install
データベースの初期化
# /usr/local/mysql/bin/mysql_install_db --user=mysql ...(略) The latest information about MySQL is available on the web at http://www.mysql.com Support MySQL by buying support/licenses at http://shop.mysql.com
コンフィグレーションファイルの作成
# cp -p /usr/local/src/mysql-5.0.45/support-files/my-medium.cnf /etc/my.cnf # vi /etc/my.cnf
以下のセクションとキー値を加える
ここではUTF8でデータベースを構築します。
[client] default-character-set=utf8 [mysqld] old_passwords = 1 character_set_server=utf8 default-character-set=utf8 skip-character-set-client-handshake [mysql] default-character-set=utf8
起動スクリプトの配置
# cp -p /usr/local/src/mysql-5.0.45/support-files/mysql.server /etc/init.d/mysql # chmod +x /etc/init.d/mysql # /sbin/chkconfig --add mysql
いよいよ起動
# /sbin/service mysql start Starting MySQL [ OK ]
終了も確認
# /sbin/service mysql stop Shutting down MySQL...STOPPING server from pid file /usr/local/mysql/var/localhost.localdomain.pid 070829 17:05:34 mysqld ended [ OK ] [1]+ Done /usr/local/mysql/bin/mysqld_safe --user=mysql
外部ホストからアクセスできるユーザの追加
# /usr/local/mysql/bin/mysql -u root Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 21 Server version: 5.0.45-log Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql> GRANT ALL PRIVILEGES ON *.* TO dev@localhost IDENTIFIED BY 'dev00' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> GRANT ALL PRIVILEGES ON *.* TO dev@"%" IDENTIFIED BY 'dev00' WITH GRANT OPTION; Query OK, 0 rows affected (0.00 sec) mysql> select user,host from user; +------+-----------------------+ | user | host | +------+-----------------------+ | dev | % | | root | 127.0.0.1 | | dev | localhost | | root | localhost | | root | localhost.localdomain | +------+-----------------------+ 5 rows in set (0.00 sec)
上記GRANT文で、dev/dev00というmysqlユーザが外部ホストからアクセスできるようになりました。
ここでは開発用途を想定しているので権限はフルアクセスです。
データベースの作成
mysql>create database mydatabase; Query OK, 1 row affected (0.00 sec)