torutkのブログ

ソフトウェア・エンジニアのブログ

MySQLはじめの一歩

MySQLをインストールし、サービス起動するようにした後にまずすることのメモ。

  • CUI (mysql)コマンドでMySQLに接続する
  • MySQLのデータベースおよびテーブル一覧を見る
  • MySQLのユーザ権限を作成する
  • テーブルのスキーマを見る
  • データベースおよびテーブルを作成する

mysqlコマンドでMySQLに接続する

Windows

Windowsでは、スタート→すべてのプログラム→MySQLMySQL Command line clientを起動する。パスワードを聞いてくるのでインストール時に指定したパスワードを入力する。
または、任意のコマンドプロンプト上で、以下を実行する

C:\> mysql -uroot -p
Enter password: ********

Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 11
Server version: 5.1.34-community MySQL Community Server (GPL)

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

mysql>
Linux

UNIXなら、任意の端末上でmysqlコマンドを実行する。

~$ mysql -uroot -p
 :略

MySQLのデータベースおよびテーブル一覧を見る

MySQLはユーザ権限もデータベース上のテーブルに定義されているので、先にデータベースとテーブルの情報にアクセスする手段を知っておくことにします。

データベースの一覧

MySQLは、複数のデータベースを束ね、各データベースは複数のテーブルを束ねています。データベースの一覧を見るには、mysqlクライアントのshowコマンドを使用します。

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

mysql>
データベースの使用

データベースが束ねるテーブルをアクセスするには、所定のデータベースを選択します。mysqlクライアントのuseコマンドを使用します。

mysql> use mysql;
Database changed
mysql>
テーブルの一覧

データベース選択後、選択したデータベースが束ねるテーブルの一覧を見るには、mysqlのshowコマンドを使用します。

mysql> show tables;
+---------------------------+
| Tables_in_mysql           |
+---------------------------+
| columns_priv              |
| db                        |
| event                     |
       : (中略)
| time_zone_transition      |
| time_zone_transition_type |
| user                      |
+---------------------------+
23 rows in set (0.00 sec)

mysql>

MySQLのユーザ権限を作成する

使用可能な操作種類、接続可能なホストを指定してユーザ権限を作成します。

mysql> GRANT ALL PRIVILEGES ON *.* TO tom@"%"
    -> IDENTIFIED BY 'Lieutenant' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)

mysql>

ALL PRIVILEGESは、すべての操作の権限を持つことを指定しています。権限対象のデータベース・テーブルは、*.*と指定した場合、任意のデータベース、テーブルを示します。作成するユーザはホスト名とともに指定します。%は任意の計算機のようです。

作成したユーザは、mysqlデータベースのuserテーブルに保持されます。

mysql> select User,Host from user;
+------+-----------+
| User | Host      |
+------+-----------+
| root | %         |
| tom  | %         |
| root | localhost |
+------+-----------+
3 rows in set (0.00 sec)

テーブルのスキーマを見る

MySQLのdescコマンドを使用します。

mysql> desc plugin;
+-------+-----------+------+-----+---------+-------+
| Field | Type      | Null | Key | Default | Extra |
+-------+-----------+------+-----+---------+-------+
| name  | char(64)  | NO   | PRI |         |       |
| dl    | char(128) | NO   |     |         |       |
+-------+-----------+------+-----+---------+-------+
2 rows in set (0.00 sec)

データベースの作成

テーブルの作成