天気も良いですが、外に出かけずOSを折角再インストールしたラズパイに、今度は活用するための基本中の基本となるMariaDBをインストールしてみた。
素人がインストールし、何かの拍子でDBが壊れて再インストールするときにも問題無いように、インストールとセットアップを実施録として残してみたよ。
今回インストールするのはMariaDBですが、実はこのオリジナルはMySQLと言うモノなんです。MySQLは元々オープンソースで、wordpressの心臓部にもなっているDBです。
しかし、MySQLを所有する会社がサンに回収され、その後サンがオラクルの回収されたときに、設計者がオープンソースのMySQLプロジェクトをフォークしてMariaDBを作ったのです。
その後は一般的にフリーで使われているのがMariaDBなんですね。
MariaDBをインストールする
MariaDBをインストールと言っても、特に難しい事は何も無くコマンドを打ち込んで自動でインストールするだけなんです。
$ sudo apt install mariadb-server
インストールで実施するのはたったこれだけ。

ENTERキーを押せば自動的にインストールが行われ完了する。

コマンドプロンプトが戻った時点でインストールは完了したことになります。とっても簡単ですね。
インストール後の初期設定開始
まず最初に実施するのが、SECURE Installationです。
これを実施しないとインストールしたままでは、rootのパスワードも設定されていないので、非常に危険な状況です。
従って、まず最初に実施するのがこのSECURE Installationなのです。
こちらもコマンドを打ち込み、問いに答えていくだけなので超簡単です。
SECURE Installationの実行
それでは下記のコマンドを打ち込んでSECURE Installationを実施していきましょう。
$sudo mysql_secure_installation
ENTERキーを押して実行が始まると、直ぐに質問を聞かれますのでYかnで答えていきます。
- Enter current password for root (enter for none): <— ENTERを押す
- Switch to unix_socket authentication [Y/n]: <— n
- Change the root password? [Y/n]: <— Y
- New password: <— 自分で決めたパスワードを入力
- Re-enter new password: <— もう一度同じパスワードを入力
- Remove anonymous users? [Y/n]: <— Y
- Disallow root login remotely? [Y/n]: <— n
- Remove test database and access to it? [Y/n]: <— Y
- Reload privilege tables now? [Y/n]: <— Y
結構な数の質問ですが、特に問題となるような場所はないですよね。


設問毎に説明はありますので、よく読めばなんとなく分かります。
外部からのアクセスを許可する
初期状態のMariaDBはローカルからのアクセスに制限されております。その場合、そのラズパイ以外からアクセスができないので、それを解除します。
まずはサーバーの設定ファイルの一部をコメントアウトして無効にします。これはnanoと言うラズパイが持っているエディタを使用して行います。
$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
上記を実行するとnanoが立ち上がり50-server.cnfの中身が表示されるので、その中からbinde-address =127.0.0.1と言う行を探します。

binde-address =127.0.0.1を見つけたら先頭に#を加えて#binde-address =127.0.0.1に変更し、上書きをして完了します。
書込はCTRL+Oで、終了はCTRL+Xですね。
次はアクセス権の変更のために一旦MariaDBにログインします。
$ mysql -u root -p
Enter password:

MariaDB[(none)]> grant all privileges on *.* to root@"%" identified by 'your password' with grant option;
このgrant all privilegesが全ての権限を与えるコマンド文なんですね
このコマンドを実行したら完了。
MariaDB[(none)]> exit
と打ってMariaDBからログアウトします。
これで、最初に実施する初期設定は全て完了しました。
一旦MariaDBを再起動して設定を反映させます。
$ suod systemctl restart mysql
再立ち上げ後、rootでログインして以下の画面になっていれば完了です。

これで使える状態が整いましたので、実際にDBを操作するためのユーザーを追加します。
実際にDBを操作するユーザーを追加する
インストールしたMariaDB内部に新たなDBを作ったり、テーブルを作ったりするのにrootで行うわけにはいきませんよね。
そこで、実際にDBの操作をするためのユーザーを登録します。
今回はユーザーpi作成します。
ユーザーを追加するには、MariaDBのSQL文を使用することになり以下の文を入力します。
MariaDB [(none)]> CREATE USER 'pi'@'%' IDENTIFIED BY '********';
Query OK, 0 rows affected (0.001 sec)
文の最後には;が必要です。忘れると実行できずに待ちになりますので注意しましょう。
一旦rootからログアウトし、追加したユーザーのpiでログインできるか確認します。

無事rootの時と同じ画面になりました。
実際にユーザーができているか、SELECT USER()
と言うSQL文で確認してみます。

無事にpi@localhostと言うユーザーがありますので、ちゃんとユーザーができていることになりますね。
ここまでで、MariaDBを使うための初期設定とDB操作用のユーザーを作成し、これからいろいろとDBを使っていく準備が整いました。
まとめ
USBブートができないと言う事から始まり、OSを64ビット版に入れ替えを行い、真っ新になってしまったラズパイでした。
これからもう一度活用をしていくため、特にデータベースは必要だという事から最初にMariaDBをインストールしました。
これから、素人ながらにもっとラズパイとMariaDBを活用して行きたいと考えております。
徐々にアプリを追加したことや、トラブった事などを記事として残していきたいと思います。