MySQL 5.0.51をソースからインストールする on CentOS5.1
以下の環境にインストールしたばかりですので、メモしておきます。
自分の過去エントリ(MySQL 5.0.45をソースからインストールする on CentOS4.4)を参考にしました。
- CentOS5.1
- MySQL5.0.51a
mysqlユーザの追加
# groupadd mysql # useradd -g mysql mysql
MySQLのダウンロード
MySQLのサイトはこちら
MySQL :: 世界でもっとも普及している、オープン ソース データベース
MySQL5.0のダウンロードはこちらから
MySQL :: MySQL 5.0 Downloads
ここでは5.0.51aのソース(tar.gz)をダウンロードします。
# cd /usr/local/src # wget http://dev.mysql.com/get/Downloads/MySQL-5.0/mysql-5.0.51a.tar.gz/from/http://mirror.mysql-partners-jp.biz/
解凍
# tar -zxvf mysql-5.0.51a.tar.gz
解凍先へ移動
# cd mysql-5.0.51a
コンパイル
# ./configure --with-extra-charsets=all --with-mysqld-user=mysql --prefix=/usr/local/mysql #make #make install
データベースの初期化
# /usr/local/mysql/bin/mysql_install_db --user=mysql
コンフィグレーションファイルの作成
# cp -p /usr/local/src/mysql-5.0.51a/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.51a/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. [ OK ]
外部ホストからアクセスできるユーザの追加
再度MySQLを起動してから行います。
# /usr/local/mysql/bin/mysql -u root mysql Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 4 Server version: 5.0.51a-log Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer. mysql>
ユーザ情報の確認
mysql> select user,host from user; +------+-------------------+ | user | host | +------+-------------------+ | root | 127.0.0.1 | | | DSV-WS03-CentOS51 | | root | DSV-WS03-CentOS51 | | | localhost | | root | localhost | +------+-------------------+ 5 rows in set (0.00 sec)
ユーザを追加します。
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 | | | DSV-WS03-CentOS51 | | root | DSV-WS03-CentOS51 | | | localhost | | dev | localhost | | root | localhost | +------+-------------------+ 7 rows in set (0.00 sec)
上記のGRANT文で、dev/dev00というmysqlユーザが外部ホストからアクセスできるようになりました。
ここでは開発用途を想定しているので権限はフルアクセスです。
データベースの作成
mysql>create database mydatabase; Query OK, 1 row affected (0.00 sec)
作成したデータベースに作成したユーザでログインする
# /usr/local/mysql/bin/mysql -udev -pdev00 mydatabase