こんにちは。今日は表題の通り、DBMSを触りたいと思います。今日中に習得して、今後自分のサービスにもどんどん適応していくぞ!
1. ローカル環境へMySQLを入れる
まずは勉強のため、ローカル環境へMySQLを入れていきます。
参考にしたサイトはここです。
1.1 インストール
sudo apt update
sudo apt upgrade
sudo apt install mysql-server
ここまでは特に問題なく進む感じです。ただし、ここで気になったのはPerlの文字。もし、今後Perlレスのシステムを作ろう!となったときにはMySQLは避けたほうが良いのかな?なんて思いました。オリジナルOSはなるべく少ない言語で動作させたいし、サービスだってなるべくメンテしやすいものにしたいからね。
以下のパッケージが新たにインストールされます:
libaio1 libcgi-fast-perl libcgi-pm-perl libfcgi-bin libfcgi-perl
libfcgi0ldbl libhtml-template-perl libmecab2 libprotobuf-lite23
mecab-ipadic mecab-ipadic-utf8 mecab-utils mysql-client-8.0
mysql-client-core-8.0 mysql-server mysql-server-8.0
mysql-server-core-8.0
2. MySQLを動かしてみる
どうやらうまくインストールできたので、次はMySQLを動かしてみます。
説明を読む感じ、パット見は内部で用意されたサーバに入って、コマンドなどで指示を送る方式のようですね。これは別にローカルでなくても同じ動作で作業できるのでマシンやOSを抽象化できていると言えるのかもしれません。
もとのサイトに習ってユーザを追加している様子が下記になります。今回は外に公開していないMySQLサーバということで、ユーザ名等も公開しています。IDENTIFIEDのあとにはパスワードを記入するそうです。また、コマンドの終端がわかるように “;” をつけるのは他言語と同様ですね。
次にこの”RWW”くんに権限をつけていきます。ここでは”GLANT”という単語を使っていました。調べると”許す”という意味らしいです。一応ChatGPTくんにも聞いてみましたが、より厳密な方がGRANTで学校の単位を許可するなどではGRANTの方が使われるらしいですね。一般的にはどっちでも良いですが、こういう権限を与える系の関数を実装する際には積極的につかっていきたいですね。
そんなこんなで、MySQLに対しユーザを追加することができました。
この*.*がいかにも危なそうですね。ワルドカードの羅列って。実業務でやったら現場猫案件やアシッタカ案件になりそうで怖いので、次回はここの部分の解説から再開いたします。
シリーズものになってしまいましたが、なるべくはやく完結させますのでどうぞおつきあいください。以上今日の報告でした。
※余談
今回もChatGPTくんに質問をして、必要な技術について相談しました。
ChatGPTくんも「色々知っていますが、MySQLがいいと思います」と言った感じでした。