ユーザーとグループを作成する
$ sudo groupadd -g 500 mysql
$ sudo useradd -g mysql -u 500 -d /var/lib/mysql mysql
$ sudo passwd mysql
※USER及びGROUPのIDは環境に併せて下さい
ソースコードを取得し、展開する
MySQLデベロッパーサイトから使用したいバージョンのソースコードを取得し、展開します。
$ wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.42.tar.gz
$ tar zxvf mysql-5.5.42.tar.gz
$ cd mysql-5.5.42
ソースコードをビルドする
MySQLのビルドにはCMAKEを用いてMakefileを生成します。未インストールの場合はをインストールしましょう。
$ sudo aptitude install cmake
実際にMakefileを生成します。
$ cmake . -DCMAKE_INSTALL_PREFIX=/usr/local/stow/mysql-5.5.42 -DMYSQL_DATADIR=/var/lib/mysql -DWITH_INNOBASE_STORAGE_ENGINE=1 -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci
オプション名 | 内容 |
---|---|
DCMAKE_INSTALL_PREFIX | Installation base directory |
DMYSQL_DATADIR | Data directory |
DWITH_INNOBASE_STORAGE_ENGINE | |
DDEFAULT_CHARSET | The default server character set |
DDEFAULT_COLLATION | The default server collation |
大体、必要ライブラリが足りずにエラーとなってしまい、処理が止まってしまうので都度インストールを行います。
$ sudo aptitude install libncurses5-dev libaio-dev ncurses-dev build-essential bison
実際にコンパイルし、インストールを実行します。
$ make
$ make install
初期設定を行う
データ格納用ディレクトリを用意し、グループ及びオーナーをmysqlに変更します。
$ sudo mkdir /var/lib/mysql
$ sudo chown mysql:mysql /var/lib/mysql
MySQLの初期化スクリプトを実行します。
$ sudo /usr/local/stow/mysql-5.5.42/scripts/mysql_install_db --user=mysql --basedir=/usr/local/stow/mysql-5.5.42 --datadir=/var/lib/mysql
起動スクリプトを設置します。
$ sudo cp /usr/local/stow/mysql-5.5.42/support-files/mysql.server /etc/init.d/mysql
実際にMySQLサーバーを起動します。
$ /etc/init.d/mysql start
※下記のようなエラーで動かない場合は該当ディレクトリ配下のパーミッションを確認しましょう。
$ sudo /etc/init.d/mysql start
Starting MySQL
... * The server quit without updating PID file (/var/lib/mysql/server.pid).