インストール

mysqladminコマンドのパスを確認して、MySQLがインストールされているかチェックします。

# which mysqladmin
/usr/bin/mysqladmin

インストールされていない場合はインストールを行います。

初期設定

MySQLがインストールした初期状態の場合は、管理者パスワードの設定と、エンコーディングの設定を行います。

  • 管理者パスワードの設定
    MySQLは初期状態では、管理者(MySQLのroot)にパスワードが設定されていません。
    パスワードの設定を行います。
    # mysqladmin -u root password '任意パスワード'
  • DBのエンコーディングの設定
    DBのエンコーディングをUTF-8に設定します。 /etc/my.cnf ファイルを編集し、以下のセクションに値を追加します。
    セクションがない場合はセクション自体を追加します。
    [mysqld]
    default-character-set=utf8
    character_set_server=utf8
    [mysql]
    default-character-set=utf8
    MySQLを再起動します。
    # /etc/rc.d/init.d/mysqld restart
    mysqlに入って、エンコーディングをチェック
    # mysql -u root -p
    
    mysql> show variables like 'character\_set\_%';
    +--------------------------+--------+
    | Variable_name            | Value  |
    +--------------------------+--------+
    | character_set_client     | utf8   |
    | character_set_connection | utf8   |
    | character_set_database   | utf8   |
    | character_set_filesystem | binary |
    | character_set_results    | utf8   |
    | character_set_server     | utf8   |
    | character_set_system     | utf8   |
    +--------------------------+--------+
    7 rows in set (0.00 sec)
    結果が上記の設定になっていればOKです。
    mysqlは「quit」コマンドで終了します。

DBの作成

  1. mysqlに入ります。
    # mysql -u root -p
  2. DBを作成します。以下はDB名が「testdb」の場合です。
    mysql> create database testdb;
    Query OK, 1 row affected (0.01 sec)

ユーザの作成

  1. mysqlに入ります。
    # mysql -u root -p
  2. ユーザを作成します。以下は「testdb」DBにアクセスするユーザ名が「testuser」の場合です。
    mysql> grant all privileges on testdb.* to testuser@localhost identified by '任意のユーザパスワード';
    Query OK, 0 rows affected (0.01 sec)
  3. ユーザを確認します。
    mysql> select user,host,password from mysql.user;
    +----------+-----------------------+------------------+
    | user     | host                  | password         |
    +----------+-----------------------+------------------+
    | root     | localhost             | 17f86f5e6a4ede0a |
    | root     | localhost.localdomain |                  |
    |          | localhost.localdomain |                  |
    |          | localhost             |                  |
    | testuser | localhost             | 0d59dfc910205df0 |
    +----------+-----------------------+------------------+
    5 rows in set (0.00 sec)
    「testuser」が作成されていればOKです。
  4. 匿名ユーザ(ユーザ名が空のもの)を削除します。
    mysql> delete from mysql.user where user='';
    Query OK, 2 rows affected (0.03 sec)
    
    mysql> select user,host,password from mysql.user;
    +----------+-----------------------+------------------+
    | user     | host                  | password         |
    +----------+-----------------------+------------------+
    | root     | localhost             | 17f86f5e6a4ede0a |
    | root     | localhost.localdomain |                  |
    | testuser | localhost             | 0d59dfc910205df0 |
    +----------+-----------------------+------------------+
    3 rows in set (0.00 sec)