Debian(etch) に MySQL5.0[5.0.32-7etch5] をインストール

Debian(etch) に MySQL5.0.32 をインストールします。

パッケージは、mysql-serverまたはmysql-server-5.0を指定します。

# aptitude update
# aptitude install mysql-server

以前のインストールでは、rootのパスワード設定等がありましたが、今回は何の設定も無く インストールが終了しました。

Stopping MySQL database server: mysqld.
Starting MySQL database server: mysqld.
Checking for corrupt, not cleanly closed and upgrade needing tables..

MySQLが動作しているか次のように確認します。インストール直後は、rootのパスワードが 設定されていないので、パスワードの入力をしないで実行します。

# mysqladmin ping -u root -p
Enter password: 
mysqld is alive

MySQL の設定

MySQLのrootユーザーをパスワード変更

インストールした直後のMySQLでは、rootユーザーのパスワードが設定されていないのため パスワードを設定します。

パスワードの変更方法には、3つの方法が用意されています。

1.  mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');

2.  mysql> GRANT ALL PRIVILEGES ON *.* TO root@localhost \
              IDENTIFIED BY 'パスワード' WITH GRANT OPTION;

3.  # /usr/bin/mysqladmin -u root -p password 'new-password'

ここでは、 1 の方法を使ってrootのパスワードを変更します。

# mysql -u root -p
Enter password:

mysql> SET PASSWORD FOR root@localhost=PASSWORD('new_password');
Query OK, 0 rows affected (0.01 sec)

ユーザーの確認をします。

# mysql -u root -p
Enter password:********

mysql> SELECT host,user,password FROM mysql.user;
+------------+------------------+---------------+
| host       | user             | password      |
+------------+------------------+---------------+
| localhost  | root             | *C03XXXXXXXXX |
| ホスト名   | root             |               |
| localhost  | debian-sys-maint | *F45XXXXXXXXX |
+------------+------------------+---------------+

rootが2種類います。ホスト名が必要なければ、ユーザーを削除します。必要であれば、ホスト名を 指定してrootのパスワードを設定します。

MySQLから接続を切断するにはいくつかの方法が用意されています。 「\q」,「exit」,「quit」,[Ctrl]+[D]

文字コードの設定

MySQLの文字コードを設定します。まず、現在の文字コードを確認します。

# mysql -u root -p
Enter password:********

mysql> status;
--------------
mysql  Ver 14.12 Distrib 5.0.32, for pc-linux-gnu (i486) using readline 5.2

Connection id:          14
Current database:
Current user:           root@localhost
SSL:                    Not in use
Current pager:          stdout
Using outfile:          ''
Using delimiter:        ;
Server version:         5.0.32-Debian_7etch5-log
Protocol version:       10
Connection:             Localhost via UNIX socket
Server characterset:    latin1
Db     characterset:    latin1
Client characterset:    latin1
Conn.  characterset:    latin1

インストール時の文字コードは、latin1に設定されているので UTF-8 に変更します。

# vi /etc/mysql/my.conf

[client]
default-character-set=utf8

[mysqld]
default-character-set=utf8

[mysql] 
default-character-set=utf8

クライアントとサーバーの間で文字コードの変換を行わないように、skip-character-set-client-handshake を指定します。

[mysqld]
skip-character-set-client-handshake

my.confの修正が終わったら、MySQLを再起動します。

# /etc/init.d/mysql restart

関連情報

MySQL - bnote