おはようございます。じぇいかわさきです。
今回はラズパイを使い倒すという目的と、IoTでデータ格納に必要となるデータベース・サーバーをインストールしてみた。
インストールはapt-getコマンドを使用することで、簡単にインストール出来ました。
インストールして、rootにパスワードを設定するまでやってみましたので紹介します。

えっ、MySQLサーバーが無い!
データベース用のソフトは何が良いか?非常に悩ましい問題だが、過去からの付き合いとして、一番無難なMySQLを選択してインストールしてみた。
まず最初に、インストールされているライブラリーやアプリのアップデートが無いかを確認する。
sudo apt-get update

その後は、MySQLサーバーをインストールするので、以下のコマンドを打ち込みリターン。
sudo apt-get install mysql-server

[ads]

内部のパッケージチェックが済んで、インストールを使用とした時にエラーが出た!
なんと、mysql-serverはインストールする候補がありませんとのこと。つまり、パッケージが無いということを言っている。
代わりに、mariadb-serverがあるよって、OSが教えてくれている。このmariadbって何者?
どうやら調べていくと、MySQLの妹分みたいなものらしい。ウィキペディアで調べてみるとこう書かれている。
MariaDBの開発は、MySQLのオリジナルコードの作者でMySQL ABの創設者でもあるミカエル・ウィデニウスにより、現在オラクルによって所有されているMySQLをフォークして立ち上げられたプロジェクトにより行われている[6]。配布ライセンスは、GNU General Public Licenseのバージョン2[5]。MariaDBの名は、Wideniusの2番目の娘の名前から採られている[7]。
バージョン5.1から5.5までは、同じバージョン番号のMySQLの非商用版を一部改良した形でリリースしていた[8]。2013年2月にMySQLは大規模なリファクタリングを加えたMySQL5.6の正式(プロダクション)版をリリースしたが[9][10]、MariaDBはMySQL5.5をベースにMySQL5.6から新機能の選択的な追加とMariaDB独自の機能追加を実施するという方針変更を行い、2014年3月31日に新たにバージョン番号を10に変更したバージョンをリリースした。
どうやら、MySQLからmariadbに変わったみたいで、一般的にはmariadbを使用するようになったらしい。
それでは、改めてmariadbをインストールすることにした。
mariadbをインストール
改めて、以下のコマンドを打ち込み、mariadbのインストールを実施した。
sudo apt-get install mariadb-server

[ads]

だらだらと依存する関連パッケージが表示された後、それらのパッケージがインストールされていく。
インストールが完了したので、まずはmariadbを動かしてみる。

面白いのは、mariadbでも起動するし、mysqlでも起動する。
rootでのパスワードログインができない?
さて、mariadbもインストールできたが、sudoからの起動ではなく、一般的な起動方法で動かすために、passwordを設定してみた。
設定方法は以下の通り。
sudo systemctl start mariadb.service
sudo /usr/bin/mysql_secure_installation

passwordの設定が完了したはずなので、改めてログインを試みると。
mariadb -u root -p
Enter password:
ERROR 1698 (28000): Access denied for user ‘root’@’localhost’
と、ログインにしっぱいするのだ。
はて?
sudo mariadbで入り直して、passwordが設定できているかを確認してみる。
sudo mariadb
ログインした後に、データベースをnoneからmysqlに変更する。
MariaDB [(none)] > use mysql;
mysqlにデータベースが変更されるので、ユーザーのpasswordとpluginを調べる。
MariaDB [mysql] > select user, password, plugin from user;

passowrdが設定されていることが確認できるが、どうやらunix_socketのプラグインが有効になっていると、ダメらしいのでこのプラグインを無効化する。

そして最後に、以下のコマンドで変更内容を反映させる。
MariaDB [mysql] > flush privileges
一旦、exitでMariaDBから抜けて、実際にrootのpassword付きで入れるかを確認する。

password付でログインが出来たので、passwordがちゃんと設定出来たことになる。
文書で書いてしまえば、かんたんなことだが、実際には結構ネットで調べたりしてここまで到達した。
まとめ
使い慣れたMySQLがサクッとインストールできると思っていたら、既に時代は代わり妹のMariaDBに切り替わっていたのにはびっくりした。
しかし、無事インストールすることができたので、今後はいろいろなデータを格納する基準箱ができたと言うことだ。
ちょっとやり始めた温湿度も、センサーから受け取った値を、このデータベースに格納していけば。後でデータの確認ができるし、グラフかも可能になると思う。
これが、データベースに格納できないとなると、非常に問題だがデータベースに書き込めさえすれば、後でいろんな事に活用できる。
次は、データ格納用のテーブルを作ったりして、データの出し入れをまずは学んでいこう。
そうすれば、温湿度データをどのように整理すれば、データベースに記録することができるかがわかるので。
本の少しだが、また少し自分は賢くなったように感じるね。
[twt]
