MariaDB(MySQL)ユーザーとデータベースの作り方

MariaDB(MySQL)とカッコ付きで書くのが面倒なので、次回からはMariaDBのみの単独表記とします。さようなら、MySQL・・・。

まずは、MariaDBに接続します。

[root@sakura ~]# mysql -u root -p
Enter password:
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MariaDB connection id is 20
Server version: 10.2.14-MariaDB MariaDB Server

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MariaDB [(none)]>

データベースを作成します。

MariaDB [(none)]> CREATE DATABASE sakura CHARACTER SET UTF8;
Query OK, 1 row affected (0.00 sec)

MariaDB [(none)]>

次にユーザーを作成します。ユーザーはちょっとややこしいので、まずは現時点でのユーザー情報テーブルを見てみます。

MariaDB [(none)]> SELECT user,host FROM mysql.user;
+--------+------------------------+
| user   | host                   |
+--------+------------------------+
| root   | 127.0.0.1              |
| root   | ::1                    |
| root   | localhost              |
+--------+------------------------+
4 rows in set (0.00 sec)

MariaDB [(none)]>

こんな感じで同じユーザでもホスト名ごとに分かれています。ユーザー作成時も、’ユーザー名’@’接続元ホスト/ネットワーク’という形で指定します。

MariaDB [(none)]> CREATE USER 'sakura'@'localhost' IDENTIFIED BY 'sakura';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> CREATE USER 'sakura'@'127.0.0.1' IDENTIFIED BY 'sakura';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>

まずは、ローカルホストからの接続用。ホスト名の部分には’%’任意の文字列、’_’任意の1文字のようなワイルドカードが使えます。なのでまとめて指定したい場合は、以下のような指定でもOK。

MariaDB [(none)]> CREATE USER 'sakura'@'%' IDENTIFIED BY 'sakura'; ・・・どこからでも
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> CREATE USER 'sakura'@'10.8.0.%' IDENTIFIED BY 'sakura'; ・・・10.8.0.1/24のネットワークから
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>

ネットワークアドレスで指定したい場合は、以下のような感じになります。

MariaDB [(none)]> drop user sakura@'10.8.0.1/255.255.255.0';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>

サブネットマスクは /24のような指定はできないみたいです。

余談ですが、ユーザーをdrop(削除)するときも、ホストの設定が必要です。

MariaDB [(none)]> drop user sakura@'%';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>

最後に作成したユーザーにデータベースを操作/参照する権限を与えます。

MariaDB [(none)]> GRANT ALL ON sakura.* TO sakura@'localhost';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT ALL ON sakura.* TO sakura@'10.8.0.0/255.255.255.0';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT ALL ON sakura.* TO sakura@'127.0.0.1';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]> GRANT ALL ON sakura.* TO sakura@'10.8.0.%';
Query OK, 0 rows affected (0.00 sec)

MariaDB [(none)]>

すでに作成済みのデータベースに対して、全権限を設定しています。

image

一応今回もWindowsからの接続を確認しました。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください