支援対象地域:札幌、仙台、関東、愛知、関西、広島、福岡

  • TOP
  •   
  • コラム
  •   
  • 【MySQL】ユーザーを新規作成する

◇はじめに

本記事ではMySQLでのユーザー作成についてご紹介しています。この記事を少しでも参考にしていただけたら幸いです。

◇MySQLのユーザー作成を始めるにあたって

ユーザー作成にあたり、まずはユーザー作成の権限があるrootなどのユーザーログインしておく必要があります。以下よりMaSQLの起動から簡単にご紹介します。

◇ターミナルソフトの起動

まずはじめに、ターミナルソフトを起動しましょう。ターミナルソフトはWindowsであれば「コマンドプロンプト」や「Windows Powershell」などがあります。今回はコマンドプロンプトを使用しています。

■コマンドプロンプトの開き方

Windows画面左下の検索入力の部分に「cmd」と入力すると検索結果としてアプリが表示されるため、そこから開くことができます。

◇MySQLモニタの起動

コマンドプロンプトを開いた後は、MySQLを操作するための「MySQLモニタ」を起動させます。mysqlコマンドを使用しMySQLのログインをおこなう事でMySQLモニタを起動させることができます。

■MySQLモニタの起動(ログイン)方法

書式は以下の通りです。
mysql -u ユーザー名 -pパスワード

※コマンドプロンプトは、コマンドプロンプト自体を閉じない限り他の誰でも『↑』キーや『F7』キーを押すことで履歴一覧からそのまま過去のコマンドを再利用しログインすることができてしまいます。上記のような書式でもログインはできますが、セキュリティ面を考慮し、起動時は下記の書式のようにパスワードを伏せた方法をとる習慣をつける事をお勧めします。

■パスワードを伏せたMySQLモニタの起動(ログイン)方法

書式は以下の通りです。
mysql -u ユーザー名 -p

Enterを押した後にパスワードを求められますので、そのタイミングでパスワード入力をおこなえばMySQLにログインすることができます。

C:\Users\oshigoto>mysql -u root -p
Enter password: **********
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.24 MySQL Community Server (GPL)

Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>

”Welcome to the MySQL monitor”のような文と、一番下に”mysql>”と表示されていればMySQLにログイン完了し、次のコマンドを受け付けている状態になります。

◇ユーザー一覧を取得する方法

ユーザー作成の前に、一度現時点でのユーザー一覧を確認してみる事とします。ユーザーの確認は以下の書式でおこなうことができます。

SELECT Host, User FROM mysql.user;
実行結果↓
mysql> SELECT Host, User FROM mysql.user;
+-----------+---------------+
| Host      | User          |
+-----------+---------------+
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | root          |
+-----------+---------------+
3 rows in set (0.00 sec)

mysql>

今回はこのようにHost名とユーザー名をセレクトし表示させました。

◇新規ユーザーの作成について

◇ユーザーの作成方法

ユーザー作成には「CREATE USER」を使用していきます。書式は以下の通りです。

■パスワード無しのユーザー作成

CREATE USER 新規ユーザー名;

■パスワード有りのユーザー作成

CREATE USER 新規ユーザー名 IDENTIFIED BY '新規パスワード';

新規ユーザー名の部分は「ユーザー名@ホスト名」、または「ユーザー名@IPアドレス」と記述することができます。ホスト名は実際にユーザーとしてログインする際に接続するホストです。例え同じユーザー名のであっても、それぞれ違うホスト名が指定され作られたユーザーであれば、これらは全く別物のユーザーとして扱われます。ユーザー名やホスト名に特殊な文字(@や%など)を使う場合はシングルクォーテーション(‘)で囲うようにしましょう。

また「@ホスト名」の部分を省略した場合、どのホストからもログインできるユーザーが作成できます。

今回は例として、新規ユーザー名を(newuser@localhost)とし、パスワードを(pass)と付けて作成してみます。

入力例↓
CREATE USER newuser@localhost IDENTIFIED BY 'pass';
結果↓
mysql> CREATE USER newuser@localhost IDENTIFIED BY 'pass';
Query OK, 0 rows affected (0.02 sec)

mysql>

◇作成されたかユーザー一覧から確認してみる

それでは、改めてユーザー一覧を確認してみましょう。

mysql> SELECT Host, User FROM mysql.user;
+-----------+---------------+
| Host      | User          |
+-----------+---------------+
| localhost | mysql.session |
| localhost | mysql.sys     |
| localhost | newuser       |
| localhost | root          |
+-----------+---------------+
4 rows in set (0.00 sec)

mysql>

問題なく新規ユーザーが作成されていることが分かります。 今のユーザーを一度ログアウトし、「newuser」でログインを試すとこれも問題なくおこなうことができます。

C:\Users\oshigoto>mysql -u newuser -p
Enter password: ****
⇒問題なくログインできる

◇ユーザーの削除方法

先程作成したユーザーを削除したいと思います。書式は以下の通りです。

DROP USER ユーザー名;

ここでのユーザー名は先程の「ユーザー名@ホスト名」になりますので、「DROP USER newuser@localhost;」と入力して実行してみます。

実行結果↓
mysql> DROP USER newuser@localhost;
Query OK, 0 rows affected (0.01 sec)

mysql>

これで問題なく削除することができました。

◇おわりに

いかがでしたでしょうか。
MySQLログインを立ち上げるところからユーザー作成、確認、削除までの一連の操作が分かったのではないでしょうか。何度か繰り返すことでしっかりと身に付き、覚えることができるかと思います。この記事が参考になれていれば幸いです。最後まで読んでいただきありがとうございました。