debianにMySQLをインストールして設定する

debianMySQLをインストールしてみたので、一応経過を残しておく。debianのインストールはCDから行い、他の部分も多くは同僚にやってもらった。MySQLのインストール部分もやってもらったが、その前に一応手順を自分で調べて、やってもらった部分も見ていたので、記録。今度、僕が前に使っていたNECの古いPCでももらってきてLinuxの練習用として動かそうかなぁと計画中。


まずはMySQLのパッケージでどれを使うか確認する。


debian:~# aptitude search mysql
すると、パッケージ一覧が表示される。MySQL5を使うので、mysql-server-5.0を使うことにする。一応、もう少し情報を確認したい場合は、

debian:~# aptitude show mysql-server-5.0
とすると、mysqlのバージョンがmysql5.0.32-7etch6だと分かったりする。後ろのetchとかはdebianetch用とかそういうことだと思う。あとはインストールしてあるかどうかも分かる。
次にインストールする。

debian:~# aptitude install mysql-server-5.0
途中で表示されるdo you want to contiune? に対してはyで。
うまくいくと/etcの中にmysqlがでてくるはず。
今回、インストールしたつもりができていなくて、インストールされているかの確認に対してmysqlが起動しているか確認するmysqlのコマンドを打ってみた。

debian:~# mysqladmin ping -u root -p
パスワードの要求に対しては、入力せずエンター。最初はrootのパスワードは設定されていない。起動していれば、mysqld is aliveと返ってくるはず。ところが今回は、詳しくは忘れてしまったのだけど、command not foundみたいなことが返ってきた。mysqlのコマンドがみつからないという意味だと思う。
だから、もう1度インストールをして、起動確認のコマンドを打つと、mysqld is aliveとちゃんと返ってきた。起動しているみたいだ。
続いてrootでログインする。

debian:~# mysql -u root -p
またパスワードは何も入力しない。そして、rootのパスワードを設定。

mysql> SET PASSWORD FOR root@localhost = PASSWORD('新しいパスワード');
これで変更完了。


ここからは設定ファイルをいじる。テキストエディタの方が編集しやすいので、WinSCPで他のPCから接続して、xyzzyで編集した。
編集するファイルは/etc/mysql/my.cnf。文字コードをすべてUTF-8にしたい。mysqlではUTF-8をutf8と書かないといけないみたいだ。それぞれの部分に次のものを追加する


[client]
default-character-set=utf8

[mysql]
default-character-set=utf8

[mysqld]
default-character-set=utf8
language=/usr/share/mysql/japanese ←englishをjapaneseに変更した
skip-character-set-client-handshake ←これを追加することにより、クライアントとサーバ間で文字コードを勝手に変更しないようになる。

変更後は、mysqlを再起動しないと、設定ファイルが反映されない


debian:~# /etc/init.d/mysql restart
再起動に成功したら、再度ログインして、文字セットがすべてutf-8になっているか確認。

mysql> status
mysql> SHOW VARIABLES LIKE 'char%';
両方の命令をやってみてcharsetがutf-8であることが確認できた。
MySQLの設定終わり。