mysqlbinlog: unknown variable ‘default-character-set=utf8’ への対処方法

mysqlbinlog を実行した際に次のようなメッセージが返ってくる場合、原因は恐らく MySQL のオプションファイル my.cnf にあると思われます。

[root ~]# mysqlbinlog mysql-bin.000222 | more mysqlbinlog: unknown variable ‘default-character-set=utf8’

私も悩まされました。 旧バージョンでの先人の経験も参考にして、実際に MySQL 5.5.11 で試した結果と合わせて、次のような結論付けをしています。

原因と対処方法

原因は、my.cnf※ の[client]グループに default-character-set=utf8 が指定されていることです。

対処方法は、my.cnf※ の[client]グループから default-character-set=utf8 を削除することです。

その後、MySQLを再起動して、再度 mysqlbinlog を実行してください。今度は正常に実行できるはずです。

※ mycnf はグローバルオプション設定用のオプションファイルとして、/etc/mycnf が既定で存在します。ここで触れている[client]グループの設定は、MySQL にアクセスしようとするすべてのクライアントに対する共通設定を行う効果を持ちます。 しかしながら、クライアントは概ねそれぞれが参照権限のあるところに MySQLへのアクセス情報を持つことが通例でしょう。少なくとも、当サイトで使用しているMySQLサーバに対するクライアントはそうです。したがって、当サイトのMySQL 5.5.11 では [client]グループごと削除してしまいました。

なお、MySQL 5.5.10、5.5.11 の/etc/my.cnf にはデフォルトで[client]グループは存在しません。

MySQL 5.5.11 my.cnf の設定内容

2011年4月23日時点で当サイトにて運用中のMySQL 5.5.11 の設定ファイル my.cnf の内容を掲示しておきます。

ここで示すのは、グローバルオプション設定ファイルである /etc/my.cnf です。

/etc/my.cnf のオプション設定内容 [mysqld] port = 3306 socket = /var/lib/mysql/mysql.sock user = mysql character-set-server = utf8 skip-character-set-client-handshake basedir = /usr datadir = /var/lib/mysql tmpdir = /var/tmp/mysql log-error = /var/log/mysql/mysqld-error.log general_log = 1 general_log_file = /var/log/mysql/mysql.log slow_query_log = 1 slow_query_log_file = /var/log/mysql/slow.log core-file max_connections = 180 key_buffer_size = 続きを読む »

MySQL 5.5.x の文字コード設定仕様(キャラクタセット)

MySQL 5.5.x における文字コード設定に関する仕様をまとめておきます。 MySQL 5.5.x では 5.1.x 以前のバージョンと少々仕様に変更がありましたので、注意が必要です。

バージョン間の文字コード設定仕様の違いをまとめると、下表のようになります。my.cnf の[mysqld]グループの文字コード設定オプションだけが変更になったというのが結論です。

/etc/my.cnf のグループ 5.5.x での文字コード設定オプション 5.1.x 以前での文字コード設定オプション [mysqld]グループ character-set-server default-character-set [mysqld_safe]グループ default-character-set default-character-set [mysqldump]グループ default-character-set default-character-set [mysql]グループ default-character-set default-character-set

WordPress 3.1 の設定内容と格納先DBテーブルカラムの対応

WordPress 3.1 の設定内容と、その格納先DBテーブルカラムの対応を整理しておきます。 まずは、[管理パネル]-[設定]-[一般設定]の各設定項目に関してです。

WordPress 3.1 のDB(MySQL)のテーブルは、次のようにして確認できます。全部で12テーブルです。

mysql> show tables; +———————–+ | Tables_in_wordpress | +———————–+ | wp_commentmeta | | wp_comments | | wp_ktaisession | | wp_links | | wp_options | | wp_postmeta | | wp_posts | | wp_term_relationships | | wp_term_taxonomy | | wp_terms | | wp_usermeta | | wp_users | +———————–+

[管理パネル]-[設定]-[一般設定]の各項目の格納先テーブル、格納先テーブルカラムの関係は下表の通りです。

格納先テーブル:wp_options 続きを読む »

CentOSのカーネルバージョン確認

CentOSのカーネルバージョンを確認します。 確認方法は次の通りです。

[root ~]# uname -r 2.6.18-194.26.1.el5.028stab070.14

次の方法でも確認できます。

[root ~]# cat /proc/version Linux version 2.6.18-194.26.1.el5.028stab070.14 (root@rhel5-build-x64) (gcc version 4.1.2 20080704 (Red Hat 4.1.2-46)) #1 SMP Thu Nov 18 16:34:01 MSK 2010