プログラミング PR

【開発環境】MacにMariaDBをインストールしたんだが、一筋縄では行かなかった

データベース
記事内に商品プロモーションを含む場合があります

おはようございます。じぇいかわさきです。

スポンサーリンク

 

今回も、自分が使用している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]

 

Loading

ABOUT ME
じぇいかわさき
進撃の社畜/弱小プロブロガー 本ブログは、還暦で定年の世代の筆者が、まだまだやれるという事を証明するために新たな事に挑戦した事を情報発信しているブログです。同世代の人達に対して、まだまだいろいろと頑張れる、第二の人生を楽しく生きていく為に現状維持は退化、失敗の反対は行動しないことを座右の銘とし、思い立ったことにチャレンジした記録です。また、せっかく稼いだ収益を騙し取られないように、毎日来る迷惑メールなどのネットリテラシーについても情報発信をしています。 このブログは ネットリテラシー ブログ 働くこと について書いており、第二の人生で頑張る同世代の心に刺さる記事を目指してます。人生100年、まだまだがんばれます。 >> Twitterをフォローする