museo MySQL の動作確認

<< 戻る   トップ >>

museo バックアップデータの展開の前に、MySQL の状況を調査する。status コマンドによると、以下のとおり。

Server version:   5.5.20 MySQL Community Server (GPL)
Protocol version: 10
Server characterset:  latin1
Db     characterset:    latin1
Client characterset:   utf8
Conn.  characterset:  utf8

毎度問題となる characterset がやはり latin1 となっており、utf8 への変更が必要だ。以前はこの変更を、設定ファイル /etc/my.cnf の default-character-set パラメータの変更で行っていた。ところが、5.5 では character-set-server に変更になっていた。そもそも default-character-set の使い方を間違っていたのかもしれないが、今回はこれで解決とする。MySQL 本体のマニュアルもたまには読まなくては。

character-set-server=utf8

とりあえずこれで様子を見る。続いて /var/lib/mysql ディレクトリを復旧する。ここで毎度お馴染み SELinux による保護設定で引っかかる。

[root@ingres lib]# getenforce
Enforcing
[root@ingres lib]# ls -Zd mysql*
drwxr-xr-x. mysql mysql unconfined_u:object_r:user_home_t:s0 mysql
drwxr-xr-x. mysql mysql system_u:object_r:mysqld_db_t:s0 mysql.org
[root@ingres lib]#chcon -R -u system_u  -t mysqld_db_t mysql
[root@ingres lib]# ls -Zd mysql*
drwxr-xr-x. mysql mysql system_u:object_r:mysqld_db_t:s0 mysql
drwxr-xr-x. mysql mysql system_u:object_r:mysqld_db_t:s0 mysql.org

ls コマンドの SELinux 関連オプションが Z であったことは辛うじて覚えていたものの、getenforce / setenforce / chcon は忘却の彼方。chcon ( change SELinux context ) あたりは chmod / chown / chgrp の仲間なんだから覚えられても良さそうなものだが。上記の操作サンプルでは setenforce は使っていないが、とりあえず問題が SELinux まわりにあるのかを試すのには setenforce [Permissive | Enforcing] で SElinux のモード切り替えも覚えておくべきだろう。やはり SELinux に苦手意識がある上に使いつけていないと覚えられないものだ。

これで鴨乃嘴南蛮の記事データベースを覗いてみると、日本語表示に問題無し。/etc/my.cnf の character-set-server 設定でよいようだ。


作成: 2012-02-28 15:23:25.0更新: 2012-02-28 23:22:15.0
http://museo-anonimo.jp/nanban/?id=1069,http://museo-anonimo.jp/nanban/tr/1069