Tag: DBMS

DBMSを触りたい!②

こんにちは。そのまま続きをやっていきます。前回は下記のようなコマンドで何か全権限を与えた時点でPCを落としてました。 ここで実際にユーザが追加されているのか?そして、権限がどうなっているのか?これを確認する必要がでてきます。これに関しては「わくわくBank」さんに詳しく書いてあったので、そのままやっていこうと思います。まずは、現在登録されているユーザを出していきます。 パッと見た感じ、UserにRWWが登録されていること、hostはlocalhostになっていることがわかります。ちなみにSELECT * FROM mysql.user; と入力することでuserやhost以外の列も出力できます。全然意味がわからないものがほとんどなので、そのうち理解して行きたいですね。 また、権限周りを確認するために、下記コマンドを入力してみました。 どうやらここでは%の部分がエラーになっているようで。%は正規表現か何かだと思って元から変更しなかったのですが、元記事ではlocalhostではなく%にしていたので、こういう表記になったようだ。そこで、localhostを指定することによって、うまく確認することができた。 ちなみに、前回最新IT技術情報_arkgame.comさんの記事では、GRANT ALL PRIVILEGESした後にFLUSH PRIVILEGESを実行して権限付与を確定させていただのだが、筆者の場合はFLUSH PRIVILEGESせずにPCの電源を落とすだけで権限付与が成功していた。これについてはMy Opinion is my ownに詳細な記載があったため、知りたい方はぜひ見に行ってくださいね。 3. データベース内でユーザが切り替えられない せっかくユーザを作成して権限を付与したので、これからそのユーザになってテーブルを作ってやるぞー!となった矢先、mysql内でcurrent userを切り替える方法が探しても見つからない。これは何故だ?と思って同じような質問を見に行くと「クライアントに何を使用しているのか不明ですが、利用ユーザは MySQL への接続の際に指定しているので、一般的には一度接続を解除して、その後、再度別ユーザを指定して接続しなおします。」との回答が。なるほど、そういう思想なんですね。 ということで、一旦EXITを入力してmysqlから脱出した後、今度はRWWとしてログインすることにします。 これによって、確かにRWWとしてログインできたようです。 4. データベースの作成 未だにデータベースという概念が分かっていませんが、テーブルデータの塊のことを指すのでしょうか?一応ChatGPTくんもDBはTableを束ねる上位存在というようなことを言っているので、その認識のまま進めていきます。 ちなみに今回扱えるようにしたかったデータはテーブルデータだったため、正直な話データベースを構築して、そこからテーブルに参照させることの意義が理解できていないです。そんなこんなでテーブルから作ろうとしたら怒られたので、愚直にDBから作って行きます。…

DBMSを触りたい!①

こんにちは。今日は表題の通り、DBMSを触りたいと思います。今日中に習得して、今後自分のサービスにもどんどん適応していくぞ! 1. ローカル環境へMySQLを入れる まずは勉強のため、ローカル環境へMySQLを入れていきます。参考にしたサイトはここです。 1.1 インストール ここまでは特に問題なく進む感じです。ただし、ここで気になったのは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のあとにはパスワードを記入するそうです。また、コマンドの終端がわかるように “;”…