Raspberry Pi 2にMariaDBを入れたかったのでコンパイルしてインストールしてみた話。
(aptitudeでも入れられるっぽい?)
検証環境
Raspberry Pi 2
Raspbian Jessie Lite(2016-03-18)
MariaDB 10.1.13
コンパイル
以下のスレッドで書かれているとおりなんだけど、意外とこのスレッド見つけるのに苦労したので・・・。
Raspberry Pi • View topic - How I compiled MariaDB and Phidget drivers
コンパイルするために必要なものをインストールします。(以下はすべてpiで行っています)
sudo apt-get install cmake libncurses5-dev bison
本家からソースをダウンロードしてきます。
Database Downloads at MariaDB
任意の場所において、展開します。
tar xvf mariadb-10.1.13.tar.gz
cd mariadb-10.1.13
コンパイルとインストールを行います。(あわせて1時間くらい?)
cd BUILD
./autorun.sh
cd ..
./configure
make
sudo make install
configureにて特に設定をしていなければ /usr/local/mysql にインストールされます。
初期化
mysqlグループとユーザーを作成し、インストールフォルダの所有者を変更します。
sudo addgroup mysql
sudo useradd -g mysql mysql
sudo chown mysql:mysql -R /usr/local/mysql
データベースの初期化を行います
cd /usr/local/mysql
scripts/mysql_install_db --user=mysql
普通はこれで問題なく完了するはずなんだけど、自分の場合は
「ねえ、mysqldがないんだけど、ちゃんとmake installした?」
と言われたので「してるよ!」と思いながら原因探し。
結果、apt-getで入れていたmysqlのゴミが残っていた事が原因だとわかった。
[Ubuntu 11.04 に MySQL5.5をソースからインストールしてみたら「FATAL ERROR/ Could not find mysqld」って言われて困った/ 猫目 ΦωΦ)]
(http://blog.neko.me/article/47602677.html)
わかったのでmysqlとつくものを探して、ソース以外を全部削除。
もういっかいmake installしたら動きました。
もしDBが既にある人はDBを消さないように注意してください。
sudo find / -name mysql
Raspbianもsystemdになったんだなー、としみじみしながらsystemdに登録。
sudo ln -s /usr/local/mysql/support-files/mysql.server /etc/init.d/
sudo systemctl daemon-reload
sudo systemctl start mysql
これでサービスが起動するはず。
後はいつも通りMariaDBの設定をしたら完成!
sudo su mysql -c /usr/local/mysql/bin/mysql_secure_installation
お疲れ様でした!
あとで見直してみると特に変わったことはしていない模様・・・。
普通に別のディストリビューションでも出来そう。
間違いがあったり、うまくいかない場合は指摘をしてもらえると助かります。