おはようございます。じぇいかわさきです。
今回も、自分が使用しているMacへ開発環境を整備するということから、MariaDBをインストールしてみました。
インストール自体は、全然むすかしくないのですが、細かなところでラズパイと違っており、悪戦苦闘したので備忘録的に書いておこうと思う。
OSによって違うのでは、困ったものですね。

最初にやるべきこと
MariaDBをインストールするのですが、今までのmacOS用PKGは商業用しか無いみたい。
殆どの場合、ターミナルを起動してCUIでインストールするみたいなんだよね。
更にそれだけではなく、MariaDBはHombrewと言われるmacOS用パッケージマネージャーを用いてインストールするようなんです。
しかし、一般のmacOSではこのHomebrewはインストールされていないので、まずこのHomebrewをインストールするところから始めます。
ちなみにHomebrewはRubyでつくられているようですね。
詳しくは

に書かれていますので、興味のある方は読んでみてください。
上記のページに書かれている以下の文をコピーして、ターミナルに貼り付けて実行するだけで、自動的にHomebrewがインストールされます。
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
まず、このHomebrewを入れるのが最初に実施する環境整備ですね。
MariaDBをインストールし設定をする
先の最初の環境整理で、Homebrewがインストールできていれば、後は簡単に以下のコマンドをターミナルで打ち込めば、自動で関連パッケージも含めインストールされる。
$ brew install mariadb
インストールが完了して、一旦rootでログインしようと思ったのですが、最新バージョンではrootのログインは禁止されているようなんです。
ネットに出ているようなやり方では、最新バージョンでは動きませんでした。

散々悩んだ挙げ句、インストール完了した時にコメントとして表示されていた内容を思い出したんです。
どうやら、現在ログインしているユーザーでログインするのが、正常の方法らしいんですね。
そして、その後DBを操作する専用のユーザーを作成して、そのユーザーでログインし直し、以降は新規DBを作成してテーブルを作るという順番になるようです。
まずは最初にDB操作用のユーザーとしてraspを作成します。データベースをmysqlに変更し、ユーザー作成SQL文を実行します。
use mysql
CREATE USER rasp@localhost IDENTIFIED BY ‘password’;
正しくユーザーが出来ているかを確認します。
SLECT USER, host from mysql.user;

[ads]

一旦、EXITでMariaDBを終了し、再度DB操作用ユーザーraspで入り直します。
その後は、新規データベース作成とテーブル作成。
CREATE DATABASE iotdata;
CREATE TABLE temphumd ( data varchar(20) not null, temp varchar(5) not null, humd varchar(5) not null, primary key (date));
実行させると、テーブル作成でエラーが発生! ハテ?
data varchar(20) → date varchar(20) またまた単純なタイプミスでした。
データベースとテーブルが完成したので、データベース操作ユーザーのraspに権限を与えます。
GRANT ALL PRIVILAGES ON ‘iotdata.’* TO ‘rasp’@’localhost’ IDENTIFIED ‘password’;
ラズパイとの相違点は、iotdata.*というiotdataというデータベースに存在する全てのテーブルに対してALL権限を与えるという部分が、macOSの場合には’’で囲まないとエラーになってしまった。
これが分からず、苦戦しました。
ラズパイデータを読み込んで見る
それではデータベースもテーブルも出来上がったので、今までに採取したラズパイのデータをMacのMariaDBへ取り込んで見る。
ここも一筋縄では行かなかった。どうも、シングルクォーテーションとダブルクォーテーションの違いがラズパイとの間ではあるように感じる。
load data local infile “/User/ユーザー名/Downloads/temp_humd.csv” into table temphumd fields terminated by “,” ;
とりあえずエラーは出ずに78個のデータを取り込むことが出来た。
本当にテーブルの格納されているのかを確認してみる。
select * from temphumd ;
ラズパイで確認したと同じデータを見ることが出来た。

これでいちよう、Macの中にMariaDBの環境を構築することが出来た。
これから、Python3を使ってこのテーブルから読み出しができるか、また新規データの書き込みができるかの確認をしていく必要がある。
そして、今度は格納したデータをどのように見せるのかの検討も必要ですね。
だんだん楽しくなってきたぞ。
まとめ
今回、ラズパイで実行している内容をMacに移す作業を行ってきた。
それは、ラズパイでは最終的に自動運転させたいと思っており、その前に開発するコードなどはラズパイではなく、Mac上で開発できたほうがら早くて楽だから。
そう考えての行動でした。
しかし、実際に動かしていくといろいろと問題に当たり、都度ネットで調べながらいろいろと、対処してきたりした。
しかし、プログラミングと言えるような内容ではないが、自分で考えた事が動くのは非常に楽しい。
これを機械に、Python3についてもう少し深く学んでいこうかと思った。
まず手始めは、MariaDBとの接続をもう少しうまくできるようにすること、そしてデータの可視化を行うことになるかな。
専門家ではないので、焦らずマイペースで進んでいこうと思っている。
[twt]
