Atahualpa のフォント変更

WordPress のテーマ『Atahualpa』(バージョン3.6.4) のフォント調整・変更を行いました。

通常の本文文字はデフォルトのままでいいと思っていましたが、PREタグやCODEタグのように等幅フォントを表示する箇所でのフォントに不満がありました。

Atahualpa のフォント変更

テーマ『Atahualpa』のCSSファイルを編集します。

[root ~]# cd /opt/wordpress/wp-content/themes/atahualpa [root ~]# vim css.php

css.php に記載されているCODEタグ、PREタグの font-family 指定を次のように変更します。フォントサイズも少しだけ大きくすることで、通常の本文文字とのバランスが良くなります。

【変更前】

code, pre { font-family: “Courier New”, Courier, monospace; font-size: 1em; }

【変更後】

code, pre { font-family: “sans-serif”, monospace; font-size: 1.1em; }

MySQL 5.5.x のバイナリログの削除

MySQL 5.5.x におけるバイナリログは削除するなどしないと貯まる一方です。場合によっては、ディスク容量を圧迫する原因にもなりますので、古いものは削除する運用が必要になると思います。

ここでは、最も安全で確実な方法を説明します。

MySQL のオプションファイル my.cnf に下記のように expire-logs-days オプションを設定して、あとはMySQL自身に任せてしまう方法が最も便利です。

[mysqld] expire-logs-days = n

ここで、n はバイナリログの期限切れ日数です。デフォルト値は 0 (無期限)。

ただし、バックアップとの整合を取ることを忘れないでください。バイナリログは、バックアップリストア後のロールフォワードのために必要です。

なお、削除は次のタイミングで行われます。

MySQL の起動時 ログチェンジ(ローテーション)時

MySQL 5.5.x のパラメータ設定一覧コマンド

MySQL 5.5.x のサーバパラメータ(オプションなど)の設定を一覧するためのコマンドは下記の通りです。

[root ~]# /usr/libexec/mysqld –verbose –help

このコマンドは、すべてのmysqldオプションと設定可能なシステム変数の一覧を表示してくれます。表示された内容には、デフォルトの変数の値が含まれていますので、my.cnf で設定していないオプションの設定を確認するために便利です。

実行結果は、数百行に達するので省略します。

MySQL 5.5.x の my.cnf の種類と読み込み順

MySQL 5.5.x の起動オプション設定ファイル(オプションファイルもしくはコンフィギュレーションファイルと呼ばれています)として my.cnf がありますが、ここでは、その種類と目的、起動時の読み込み順を整理しておきたいと思います。

内容は、MySQL 5.5 のリファレンスマニュアル( http://dev.mysql.com/doc/refman/5.5/en/option-files.html )に基づいていますので、そちらも参照してください。

読み込み順 オプションファイル(コンフィギュレーションファイル) 目的 1番目 /etc/my.cnf グローバルオプションの設定 2番目 /etc/mysql/my.cnf グローバルオプションの設定 3番目 SYSCONFDIR※1/etc/my.cnf グローバルオプションの設定 4番目 $MYSQL_HOME※2/my.cnf サーバ固有オプションの設定 5番目 $HOME※3/.my.cnf ユーザ固有オプションの設定

※1 SYSCONFDIR・・・MySQLがビルドされたときのcmakeのSYSCONFDIRオプションで指定したディレクトリ

※2 MYSQL_HOME・・・サーバー固有のmy.cnfファイルが存在するディレクトリへのパスを含む環境変数

※3 $HOME・・・現在のユーザのホームディレクトリ

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]グループは存在しません。