RPMではなく、バイナリでもなく、ソースを落としてくる。
http://dev.mysql.com/downloads/mysql/5.0.html#source
makeに30分くらいかかった。(Celeron766MHzで)
$ tar zxvf mysql-5.0.41.tar.gz
$ cd mysql-5.0.41
$ ./configure --with-charset=utf8 --with-extra-charsets=all --with-mysqld-user=mysql
--prefix=/usr/local/mysql
$ make
$ su
# make install
初期設定ファイルとして/etc/my.cnfに、my-medium.cnfをコピーして置く。
# chown -R mysql:mysql /usr/local/mysql
# cd /usr/local/mysql
# cp share/mysql/my-medium.cnf /etc/my.cnf
# bin/mysql_install_db --user=mysql
# chown -R root .
# chown -R mysql:mysql var
確認する。
# ls -l
合計 40
drwxr-xr-x 2 root mysql 4096 7月 8 21:19 bin
drwxr-xr-x 3 root mysql 4096 7月 8 21:19 include
drwxr-xr-x 2 root mysql 4096 7月 8 21:35 info
drwxr-xr-x 3 root mysql 4096 7月 8 21:19 lib
drwxr-xr-x 2 root mysql 4096 7月 8 21:20 libexec
drwxr-xr-x 4 root mysql 4096 7月 8 21:19 man
drwxr-xr-x 8 root mysql 4096 7月 8 21:20 mysql-test
drwxr-xr-x 3 root mysql 4096 7月 8 21:19 share
drwxr-xr-x 5 root mysql 4096 7月 8 21:19 sql-bench
drwx------ 4 mysql mysql 4096 7月 8 23:59 var
データをしまうvarを確認する。
# ls -l var
合計 600
drwx------ 2 mysql mysql 4096 7月 8 23:59 mysql
-rw-rw---- 1 mysql mysql 14701 7月 8 23:59 mysql-bin.000001
-rw-rw---- 1 mysql mysql 578125 7月 8 23:59 mysql-bin.000002
-rw-rw---- 1 mysql mysql 38 7月 8 23:59 mysql-bin.index
drwx------ 2 mysql mysql 4096 7月 8 23:59 test
mysql: システムデータベースをしまうディレクトリ。
マニュアルで起動する。
# /usr/local/mysql/bin/mysqld_safe --user=mysql &
マニュアルで停止する。
# /usr/local/mysql/bin/mysqladmin shutdown
起動スクリプトのサンプルをコピーして利用する。
# cp share/mysql/mysql.server /etc/init.d/mysqld
自動起動にするには、rc2, rc3, rc4, rc5 にシンボリックリンクをはるか、chkconfigで行う。
# chkconfig mysqld on
起動スクリプトから、MySQLを起動する。
# /etc/init.d/mysqld start
MySQLのrootユーザのパスワードを設定する。
$ /usr/local/mysql/bin/mysqladmin -u root password 'XXXXXX'
rootのパスワードを設定する。
$ /usr/local/mysql/bin/mysql -u root -p
Enter password: XXXXXX
mysql> select user, password, host from mysql.user;
mysql> delete from mysql.user where user="";
MySQLユーザを追加する。
mysql> status
--------------
/usr/local/mysql/bin/mysql Ver 14.12 Distrib 5.0.41, for pc-linux-gnu (i686) using
EditLine wrapper
Connection id: 4
Current database:
Current user: root@localhost
SSL: Not in use
Current pager: stdout
Using outfile: ''
Using delimiter: ;
Server version: 5.0.41-log Source distribution
Protocol version: 10
Connection: Localhost via UNIX socket
Server characterset: utf8
Db characterset: utf8
Client characterset: utf8
Conn. characterset: utf8
UNIX socket: /tmp/mysql.sock
Uptime: 14 min 23 sec
Threads: 1 Questions: 13 Slow queries: 0 Opens: 12 Flush tables: 1 Open tables: 6
Queries per second avg: 0.015
--------------
毎回、/usr/local/mysql/bin/mysql で起動するよりは、mysqlだけで起動したい。
/etc/profileの最後に次の1行を追加するか、各ユーザの.bash_profileに追加する。
export PATH=/usr/local/mysql/bin:$PATH