
ChromebookのLinuxにMariaDBをインストールしました。 その時の話を書こうと思います。
過去の開発経験
以前、Python+Flask+SQLiteでWEBアプリをつくって、実際に使っていたことがありました。 個人で使う簡単なものだったので、公開とかはしていません。
それから、しばらく……
最近少し時間に余裕ができた(仕事がヒマとも言う)ので、また何かつくってみようと思い立ちました。 今回は、可能なら公開できるところまで持っていけたらと思っています。
MySQLを使ってみることにした
以前Flaskを使ってからけっこう時間が経ったので、もう一回環境をつくり直すことにしました。
今回は、SQLiteではなく、MySQLを使ってみようと思っています。
理由としては、
- MySQLの勉強のため
- アプリの規模が不明だから
といった感じです。
実際のところ、深い意味はありません。
MariaDBをインストール
MariaDBはMySQLの派生版で、高い互換性があるため、MySQLと同様に扱うことができます。
- MySQL の「妹分」的なリレーショナルデータベース。
- MySQL が Oracle 社の傘下に入ったこともあり、MySQL AB 社の創設者 Michael "Montry" Widenius 氏が、MySQL から分離し、MySQL 互換の RDB として公開したもの。
私が契約しているレンタルサーバーでも使われているので、名前くらいは知っていました。
MariaDBの方がインストールが簡単っぽかったこともあり、MariaDBをインストールすることにしました。
参考にした動画
インストールにあたり、こちらの動画を参考にさせていただきました。
とてもわかりやすく、基本的には動画の内容にそって進めていけばインストールできました。 とても助かりました。
ちょっとつまずいたところ
基本的にはスムーズに行ったのですが、「mysql_secure_installation」の途中で、動画になかった質問が出てきて、詰まりました。 おそらくバージョンアップで変更があったのかな、と勝手に思っております。
Switch to unix_socket authentication [Y/n]
直訳するなら、「UNIX_Socket認証に切り替える[はい/いいえ])」と言ったところでしょうか。
UNIX_Socket認証について少し調べたのですが、よくわかりませんでした。
こちらのページを見ると「『n』を入力」と書いてありますね。
MariaDB10.4.6をいれたらUnix_Socketを使った認証で地獄だったので書いておきます。MariaDBではデフォルトでUnix_Socketを使わせようとしてきますが(以下略)
詳しい記事の内容はまだ読んでませんが、冒頭のこの部分を読んで「怖えぇ~」となりました。
というわけで、「n」を入力して、インストールを続行しました。
「n」を選択
=> Unix_Socketを使わない
=> 動画と同じ条件になるのでは?
と考えたからです。
今のところ、とくに問題は起きていません。
みなさんは、もっとちゃんと調べてからインストールしましょう。
PythonでMySQLを操作
動画の後半は、
- MariaDB(MySQL)でデータベースを作成
- PyMySQLのインストール
- Pythonを使ってデータベースを選択
- Pythonを使ってデータベースを更新
といった内容になっています。
動画内で使用されているスクリプトがダウンロードできるのも、ありがたかったです(動画の概要欄にリンクあり)。
おわりに
というわけで、ChromebookのLinuxにMariaDB(MySQL)をインストールすることができました。
まあ、これは下準備なので、このあと何をつくるかが重要です(まだ何も決まってない)。