OpenBSDでMySQLをコンパイル

OpenBSDMySQLをインストールした時のメモ。
自分でコンパイルしてインストールする。
ここではMySQLの使い方にはあまり触れない。


ここから作業工程

インストール

mysqlユーザとグループが無いなら作成する。
IDは空いてるの適当に指定する。ここでは1001にした。

# groupadd -g 1001 mysql
# useradd -g mysql -u 1001 mysql


「vi /etc/passwd」でmysqlユーザを少し編集する。

mysql:*:1001:1001:MySQL Server:/var/empty:/sbin/nologin


無償で使えるコミュニティ版をダウンロードして展開する。

$ ftp ftp://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.0/mysql-5.0.27.tar.gz
$ ftp ftp://ftp.iij.ad.jp/pub/db/mysql/Downloads/MySQL-5.0/mysql-5.0.27.tar.gz.md5
$ cat mysql-5.0.27.tar.gz.md5
584d423440a9d9c859678e3d4f2690b3  mysql-5.0.27.tar.gz
$ cat mysql-5.0.27.tar.gz | md5
584d423440a9d9c859678e3d4f2690b3
$ tar xzvf mysql-5.0.27.tar.gz


文字コードEUC、データベースのディレクトリに/var/db/mysqlを指定してコンパイル
コンパイルは時間がかかるが終了したらrootになってインストール。

$ cd mysql-5.0.27
$ ./configure --prefix=/usr/local/mysql-5.0.27 \
--with-charset=ujis --with-extra-charsets=all \
--localstatedir=/var/db/mysql \
--with-mysqld-user=mysql && make
$ su
# make install


使いやすいようにシンボリックリンクを貼る。
後で、バージョンアップする時にもシンボリックリンクを貼り直す。

# ln -s  /usr/local/mysql-5.0.27 /usr/local/mysql


データベースを初期化する。
これで/var/db/mysqlが新しく出来上がるので、所有者をmysqlにする。
当然バージョンアップならこの作業は飛ばす。

# /usr/local/mysql/bin/mysql_install_db
# chown -R mysql /var/db/mysql


MySQLサーバを起動する。

# /usr/local/mysql/bin/mysqld_safe --user=mysql &


サーバが動いてるか接続してみる。

# /usr/local/mysql/bin/mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1 to server version: 5.0.27

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> show databases;
                                          • +
Database
                                          • +
information_schema
mysql
test
                                          • +
3 rows in set (0.01 sec) mysql> exit Bye


サーバを止める時はこのようにする。
パスワードを聞かれるが最初はrootのパスワードを設定してないのでそのままリターンを押す。

# /usr/local/mysql/bin/mysqladmin -u root -p shutdown


あとは初期設定等をする。ここでは割愛。