FreeBSD10にmySQLをインストール

開発環境が壊れたため久しぶりに環境構築。

OSはFreeBSD10.1を採用。
相変わらず必要最小限環境の構築を行います。

wget 16.1 (最新の16.3はnettleを構築できなかったのでとりあえず16.1を採用) ⇒ ここを参考
・apache2 2.2.29 ⇒ ここを参考
PHP 5.6.7⇒ ここを参考
(libxml2は2.9.2、perlは5.20.2を使用)
は過去と同じようにインストール。

cmakeにインストール

MySQLをmakeするのにcmakeが必要。

% wget http://www.cmake.org/files/v3.2/cmake-3.2.1.tar.gz
% tar zxvf cmake-3.2.1.tar.gz
% cd cmake-3.2.1
% ./configure
% make
% make test
% su
# make install

mysqlのインストール

続いて目的のmysql

% wget http://downloads.mysql.com/archives/get/file/mysql-5.5.41.tar.gz
% tar zxvf mysql-5.5.41.tar.gz
% cd mysql-5.5.41
% cmake -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
% make
% make test
% su
# make install

mysql userを作成する


# adduser
Username: mysql
Full name: mysql database user
Uid (Leave empty for default):
Login group [mysql]:
Login group is mysql. Invite mysql into other groups? []:
Login class [default]:
Shell (sh csh tcsh nologin) [sh]:
Home directory [/home/mysql]:
Home directory permissions (Leave empty for default):
Use password-based authentication? [yes]:
Use an empty password? (yes/no) [no]:
Use a random password? (yes/no) [no]:
Enter password:
Enter password again:
Lock out the account after creation? [no]:
Username : mysql
Password : *****
Full Name : mysql database user
Uid : 1002
Class :
Groups : mysql
Home : /home/mysql
Home Mode :
Shell : /bin/sh
Locked : no
OK? (yes/no): y
adduser: INFO: Successfully added (mysql) to the user database.
Add another user? (yes/no): n
Goodbye!
#

mysql userが資材を操作できるようにする。


# chown -R mysql:mysql /usr/local/mysql/

データディレクトリの作成


# mkdir /var/lib/mysql

初期化


# /usr/local/mysql/scripts/mysql_install_db --user=mysql --datadir=/var/lib/mysql -basedir=/usr/local/mysql
↑は /usr/local/mysql/bin/ から場所が変わっていました。
/usr/local/mysql/scripts/ で ./mysql_install_db とかやってもうまくいかない。絶対パスで実行しないとならないらしい。

データディレクトリの権限を変更する。


# chown -R mysql:mysql /var/lib/mysql/*

自動起動設定を行う


# cp /usr/local/mysql/support-files/mysql.server /usr/local/etc/rc.d/mysqld.sh
なぜかsh拡張子を付けないと自動起動してくれなかった???
FreeBSDって拡張子関係するんだっけ???

データベース起動してみる


# service mysqld.sh start

ユーザーを作成する


# /usr/local/mysql/bin/mysqladmin -uroot password パスワード
# /usr/local/mysql/bin/mysql -uroot -p
(パスワード入力)
mysql>
(↑になれば成功)