MySQLのインストール

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

# which mysqladmin
/usr/bin/mysqladmin

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

MySQLの動作の変更

MySQL 5.6の場合は、MySQL5.5以下と互換を保つようにシステムの動作の変更を行います。(トラブルシューティングを参照。)

初期設定

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

  • 管理者パスワードの設定
    MySQLは初期状態では、管理者(MySQLのroot)にパスワードが設定されていません。
    パスワードの設定を行います。
    # mysqladmin -u root password '任意パスワード'
  • DBのエンコーディングの設定
    DBのエンコーディングをUTF-8に設定します。MySQL 5.5以降ではutf8mb4(4バイト文字)が使用できます。
    /etc/my.cnf ファイルを編集し、以下のセクションに値を追加します。
    セクションがない場合はセクション自体を追加します。
    • MySQL 5.5未満
      [mysqld]
      character_set_server=utf8
      [mysql]
      default-character-set=utf8
      my.confの設定例
      [mysqld]
      socket=/tmp/mysql.sock
      # Default to using old password format for compatibility with mysql 3.x
      # clients (those using the mysqlclient10 compatibility package).
      old_passwords=1
      character_set_server=utf8
      
      [mysql]
      default-character-set=utf8
    • MySQL 5.5以上
      [mysqld]
      character_set_server=utf8mb4
      [mysql]
      default-character-set=utf8mb4
      または
      [mysqld]
      character_set_server=utf8
      [mysql]
      default-character-set=utf8
      my.confの設定例
      [mysqld]
      datadir=/var/lib/mysql
      socket=/var/lib/mysql/mysql.sock
      user=mysql
      # Disabling symbolic-links is recommended to prevent assorted security risks
      symbolic-links=0
      character_set_server=utf8mb4
      
      [mysql]
      default-character-set=utf8mb4
      
      [mysqld_safe]
      log-error=/var/log/mysqld.log
      pid-file=/var/run/mysqld/mysqld.pid
  • 再起動
    MySQLを再起動します。
    # /etc/rc.d/init.d/mysqld restart
    または
    # service 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)

MySQLの操作

MySQLを操作するには、コマンドラインから実行するだけでなく、「phpMyAdminWeb?」というソフトウェアを使って、
WebブラウザからGUI的にを操作できます。
phpMyAdminのインストールについては、phpMyAdminのインストールを参考にしてください。