LoginSignup
3
2

More than 5 years have passed since last update.

0からDB入門!!MySQLで新規ユーザー作成と権限付与

Posted at

こんにちは。
fumimi(@fumimi)です。

今回は、MySQLで新規ユーザー作成から権限付与についてMySQLを起動をしたところから解説をします。
MySQLに変更することは初心者の方が苦戦する項目の1つだといえます。
ターミナルを使ってコマンドラインでの操作には慣れるまで時間がかかると思います。
この記事で少しでも皆さんの学習の役に立てば幸いです。

対象読者

  • MySQLという言葉は知っているけど使い方がわからない
  • MySQLの起動の方法がわからない
  • 新規ユーザー作成や権限付与がわからない

という方を対象にMySQLで新規ユーザー作成と権限付与について解説します。

手順

  1. MySQL起動
  2. コマンドラインツール起動
  3. DB(データベース)作成
  4. ユーザー作成
  5. DBにユーザー権限を付与(クリア)

まずは、MySQLを起動したあとにコマンドラインツールを起動します。次にDBを作成しユーザーを作成します。作成したユーザーに作成したDBの操作権限を付与します。

環境

  • macOS High Sierra
  • MySQL 5.7.21

MySQL起動

MySQLの起動コマンドをターミナルで実行することによってMySQLを起動します。起動するには以下のコマンドをターミナル上で実行してください。

ターミナル
$ mysql.server start

起動コマンドを実行し以下のように表示されれば準備okです。

ターミナル
Starting MySQL
 SUCCESS!

コマンドラインツール起動

MySQLをコマンドラインで操作できるようにまずはコマンドラインツールを起動します。
起動するには以下のコマンドをターミナル上で実行してください。
[username] のところにはユーザー名、 [password] のところにはパスワードを入力して実行してください。

ターミナル
$ mysql -u [username] -p [password]

MySQLを初期インストールした状態の方

MySQLを初期インストールした状態では、rootユーザーにパスワードが設定されていません。
rootユーザーは、MySQLのすべての操作が行うことができますが、パスワードが設定されていないと大変危険です。
もしもこの時点でrootユーザーにパスワードが設定されていなければここで設定をしましょう。

コマンドラインツール 起動成功

起動コマンドを実行すると以下のように表示されればokです。
この状態になればDBを操作することができます。

ターミナル
mysql>

MySQLのコマンドでは文の最後に必ず ;(セミコロン) をつけるので気をつけてください。

DB作成

DBを作成する前にまずは現状どのようなDBが存在するのか確認しておくとコマンドを実行する前と後での違いが明確にわかるのでおすすめです。

DBの一覧を表示させるには以下のコマンドを実行してください。

ターミナル
mysql> show databases;

実行すると以下のように表示されます。
このとき作成したいDBと同じ名前のDBがすでに存在しているとDBを作成するときにエラーが起こりますので注意してください。

ターミナル
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
4 rows in set (0.01 sec)

既に存在しているDBを確認したらDBを作成するには以下のコマンドをターミナル上で実行してください。
[db_name] の箇所にはDBの名前が入ります。任意の文字列に書き換えてから実行してください。

ターミナル
mysql> creare dababase [db_name];

もう一度DB一覧表示のコマンドを実行してcreate文で作成したDB名が表示されていれば成功です。

ユーザーに権限を付与

最後にユーザーにDBの操作権限を不要します。

今回は特定のユーザーに対してDBの全てのテーブルに全ての権限を与えるコマンドは以下のようになります。
[db_name]にはDB名、[user_name]にはそれぞれ任意の文字列を指定してコマンドを実行してください。

ターミナル
$ grant all on [db_name].* to '[user_name]'@'localhost';

ホストについて

また、localhostのところはホストといってDBが存在する場所を指定します。
お使いのマシーンの中にあるDBの場合は localhost を指定します。
外部ホストの場合はIPアドレスなどを指定します。

まとめ

いかがでしたでしょうか??

初心者の方からするとエンジニアはプログラムを書くだけが仕事だと思われていた方も多いと思いますが、データベースの操作はエンジニアには必須のスキルです。

また、データベースに関連した記事はこちらもご覧ください。

0からDB入門!!RailsのDBをMySQLに変更する方法

まずは、MySQLを起動してコマンドラインツールが使えるようになるところから慣れていくとよいと思います。

内容に誤りがある場合はご連絡ください。最後までお読みいただきありがとうございました!!

3
2
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
3
2