0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

MySQLのデータベースをWorkBenchで作ってみる

Posted at

要約

  • MySQL WorkBenchの使い方と、MySQLデータベースの作成方法について共有する。
  • SQLiteとはデータベースの概念が少しだけ違うので注意が必要
  • WorkBenchでは、GUIデータベースの作成・ユーザーの作成と権限付与・データ閲覧と基本的なことはすべてできる。
  • でもコマンド打った方が楽。

背景

  • MySQLとSQLiteの違いがいまいちよく分からなかった。
  • 単純にWorkBenchを使ってみたかった。

目的

  • MySQL WorkBenchを用いて、手元のMySQLサーバーにデータベースを作成する。
  • 非rootユーザーを作成して権限を付与し、そのユーザーでデータベースに接続する。

結論

  • コマンドの方が100倍楽(WorkBench使いづれぇ~)

詳細

交通整理

  • 一部の用語・考え方をSQLiteと混同してしまうので、最初に用語の交通整理をする。
  • MySQLにおける基本構造は以下のようになっている(と、理解している)
    • Connections:データベースを管理するサーバー。このサーバーの中に複数のデータベースを配置することができ、接続することでそれぞれのデータベースへアクセスする。これをデータベースと説明されることもあるため、SQLite上がりの人は混同する。(俺はした)
      • Schema:サーバー内に設置される、データベース。SQLiteでいうところの.dbファイル。これを作らないと、データを格納したり取り出したりできない。
        • Tables:Schema(データベース)内に作成されるテーブル。これはSQLiteと同じ。

参考情報

  • ソースは公式含め複数あるが、これが最も腹落ちした。正しいかどうかはノーコメント

1. WorkBenchを立ち上げる

  • Local Instance MySQL80に接続する。
  • この時点でConnectionsを新しく作成する記事も散見されるが、今回はroot以外のユーザーを作成したいので、まずrootのConnectionsを利用する。
    • これはそもそも何か:どんなユーザーで、どのサーバーの、どのデータベースにアクセスするかのセッションを記憶しておくものと理解した。

image.png

2. データベースを作成する。

  • サーバーに接続できたら、上部メニューからCreate New Schemaを選択

image.png

  • 任意の名前を選択してApply

image.png

  • 左側のメニュー一覧にデータベースが作成されているのを確認できる。

image.png

参考情報

3. 新規ユーザーの作成

  • 一般的に、rootユーザーは強い操作権限を有しているため、データベースへのアクセスは必要な権限のみを有したユーザーでアクセスすることが望ましい。
  • メニューから、「Use and Previrages」を選択する。

image.png

  • Add Accountをクリックして新しいユーザーの作成画面に入り、ユーザー名とパスワードを設定して「Apply」をクリックする。(右・下部のウィンドウが邪魔でメニューがうまく見えないので、サイズを適宜調整する。)
  • このとき、パスワードに@を指定しないこと!

image.png

4. ユーザーに権限を付与する

  • そのまま「Schema Priviledges」タブに移り、作成したデータベースの権限を付与する。

image.png

  • Add Entryをクリックすると、権限を付与できるスキーマを選択できる。ここで、作成したデータベースを選択する。

image.png

  • Applyをクリックすると、基本的な操作権限が自動的に付与される。

image.png

参考資料

6.接続確認

  • 作成したユーザーでデータベースに接続するため、WorkBench上で新規のコネクションを作成する。

image.png

  • サーバーに接続すると、先ほど作成したデータベースのみが表示されており、正しくデータベースの作成・ユーザーの作成・権限の付与が行われていることが分かる。

image.png

  • テーブルを選択して右クリックし、「Select Rows ~~」をクリックすると、テーブル内部のデータにアクセスできる。

image.png

image.png

ぜーったいコマンド打ったほうが楽!!!!

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?