First Creation 2007/02/05
Last Update 2007/02/05
Bloody Mary > Technical Notes > MySQL データベース作成編

MySQL データベース作成編

データベースを作成するためのコマンドを紹介する。それだけでは味気ないので、前章の繰り返しになるが、そのデータベースだけを参照・更新できるユーザを作って、セキュリティを確保してみよう。

1. DB を作成する

とりあえず、 # mysql -u root -p で対話式 mysql に入ることにしよう。

mysql> show databases;
+----------+
| Database |
+----------+
| mysql    |
| test     |
| xoops    |
+----------+
3 rows in set (0.18 sec)

私の環境では、上記の 3 種類のデータベース名が表示された。重複しない名前でデータベースを作成する。

mysql> create database bloody;
Query OK, 1 row affected (0.16 sec)

mysql> show databases;
+----------+
| Database |
+----------+
| bloody   |
| mysql    |
| test     |
| xoops    |
+----------+
4 rows in set (0.00 sec)

mysql> flush privileges;
Query OK, 0 rows affected (0.40 sec)
2. ユーザの追加

データベースは作成できた。いつまでも root で MySQL を操作するのは、セキュリティ上好ましくないので、今度は bloody データベースを操作するユーザ mary を作成する。

念のため、重複ユーザがいないか確認する。

mysql> select user,host from mysql.user;
+--------+---------------------------+
| user   | host                      |
+--------+---------------------------+
| root   | localhost                 |
| xoops  | localhost                 |
+--------+---------------------------+
2 rows in set (0.17 sec)

mary 追加。

mysql> grant all on bloody.* to mary@localhost identified by "my_password" with grant option;
Query OK, 0 rows affected (0.31 sec)

mysql> flush privileges;

mysql> quit
Bye

mary が追加できたので、今度は mary で MySQL に入る。環境によって mysql へのパスが異なるので注意。

% /usr/local/mysql/bin/mysql -u mary -p
Enter password:

"my_password" に当たるパスワードを入れて MySQL に入る。

mysql> show databases;
+----------+
| Database |
+----------+
| bloody   |
| test     |
+----------+
2 rows in set (0.01 sec)

データベースの test は、練習用の DB のため、特に権限を設定しない限り、誰でもアクセスできるようだ。これはほっとこう。次に、データベースの中身を確認する。

mysql> use bloody;
Database changed

mysql> show tables;
Empty set (0.00 sec)

テーブルを作成していないので、当然テーブルはないが、どうやらデータベースは作れたようだ。

ここまでがデータベースを作成する流れになる。権限は必要に応じて変更されたし。

戻る 上へ 次へ