First Creation | 2007/02/05 |
---|---|
Last Update | 2007/02/05 |
データベースを作成するためのコマンドを紹介する。それだけでは味気ないので、前章の繰り返しになるが、そのデータベースだけを参照・更新できるユーザを作って、セキュリティを確保してみよう。
とりあえず、 # 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)
データベースは作成できた。いつまでも 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)
テーブルを作成していないので、当然テーブルはないが、どうやらデータベースは作れたようだ。
ここまでがデータベースを作成する流れになる。権限は必要に応じて変更されたし。