[MySQL] クエリのログファイルが指定できないエラー/[ERROR] Could not use /var/log/myquery.log for logging (error 13)

 

MySQLの設定ファイル my.cnf にクエリのログファイルを出力する設定をしたら、エラーが発生して、MySQLの再起動に失敗しました。
 

解決方法を調べたのでメモ。
 

まず、my.cmf の中を以下のようにとしていたら、使えない(Could not use)というエラーが出ました。
 

1
2
[mysqld]
log=/var/log/myquery.log

 

以下、エラー内容です。
 

1
2
3
4
[root@localhost ~]# tail -f /var/log/mysqld.log 
110626 22:40:54 InnoDB: 1.1.7 started; log sequence number 1640974
/usr/libexec/mysqld: File '/var/log/myquery.log' not found (Errcode: 13)
110626 22:40:54 [ERROR] Could not use /var/log/myquery.log for logging (error 13). Turning logging off for the whole duration of the MySQL server process. To turn it on again: fix the cause, shutdown the MySQL server and restart it.

 

解決方法が書かれた記事があったので引用します。
 

1
2
[mysqld]
log

 

とりあえずこれで /var/lib/mysql/hostname.log に残るからいいけど釈然としないなぁ。
 

・引用元:クエリのログファイルが指定できない – デスま! はてなブックマーク - クエリのログファイルが指定できない - デスま!

 

MySQLのログファイルの種類についてはこちらに詳しく書かれていて、参考になりました。
 

ログのローテーション – MySQL Practice Wiki はてなブックマーク - ログのローテーション - MySQL Practice Wiki
 

以上です。
 

[MySQL] default-character-set で起動が失敗する

 

MySQL5.5.13 にて、default-character-set=utf8 を書いた後、起動できなくなりました。
 

原因は、MySQL5.5 からサーバ側の文字コードの表記が変わっていたのに、古い書き方をしていたせいでした。
 

1
2
3
4
# service mysqld restart
mysqld を停止中:                                           [  OK  ]
MySQL Daemon failed to start.
mysqld を起動中:                                           [失敗]

 

解決方法が書かれている記事があったので引用します。
 

新しい文字コードの設定は、character-set-server と書くようです。
 

私はmy.cnfに以下のように書いていたのが原因のようです。
 

1
2
3
4
[mysqld]
default-character-set=utf8
[mysql]
default-character-set=utf8

 

クライアントであるmysql側の設定は良いのですが、サーバー側はmysql5.5から表記が変わったようです。新しい書き方は
 

1
2
3
4
[mysqld]
character-set-server=utf8
[mysql]
default-character-set=utf8

 

となります。
 

・引用元:fedora15 mysql5.5 default-character-setが原因で起動できない – ITとともに生きよう はてなブックマーク - fedora15 mysql5.5 default-character-setが原因で起動できない - ITとともに生きよう

 

以上です。
  

[PHP] テスト環境 Lime の設定方法

PHPのテスト環境 Lime を使うための設定方法を調べたのでメモ。

lime.php をダウンロード

まず、Lime を使うためには lime.php をダウンロードする必要があります。

Limeというのは、PHPで単体テストを書くためのライブラリです。
ライブラリといってもただのクラスファイルで、lime.phpの1ファイルをインクルードするだけですぐ使えます。
「軽量・シンプル・かんたん」が好きなあなたにはぴったりです。

・引用元:[PHP]Lime.phpの最新バージョンをダウンロードする方法 – DQNEO起業日記 はてなブックマーク - [PHP]Lime.phpの最新バージョンをダウンロードする方法 - DQNEO起業日記

Limeの最新版をダウンロードしました。(最新版 ver 1.0.9: 2011/07/14 時点)

/tools/lime/tags/RELEASE_1_0_9/lib/lime.php – symfony – Trac はてなブックマーク - /tools/lime/tags/RELEASE_1_0_9/lib/lime.php - symfony - Trac

ダウンロードする場所がかなり分かりにくいのですが、ページ下部の

Download in other formats:
Plain Text | Original Format

からダウンロードできます。

また、過去のバージョンも以下のリンクから確認することができます。

/tools/lime/tags – symfony – Trac はてなブックマーク - /tools/lime/tags - symfony - Trac

テストユニット:Lime を使うときに参考になりそうな記事

その他、参考になりそうな記事。

■ 公式

LimeTestingFramework – symfony – Trac はてなブックマーク - LimeTestingFramework - symfony - Trac

Practical symfony | 8日目: ユニットテスト | symfony | Web PHP Framework はてなブックマーク - Practical symfony | 8日目: ユニットテスト | symfony | Web PHP Framework

A Gentle Introduction to symfony | 第15章 – ユニットテストと機能テスト | symfony | Web PHP Framework はてなブックマーク - A Gentle Introduction to symfony | 第15章 - ユニットテストと機能テスト | symfony | Web PHP Framework

■ ブログ記事

新しく採用されたテスティングフレームワークlimeの紹介 – lime without symfony part 1 « symfonyで開発日記 はてなブックマーク - 新しく採用されたテスティングフレームワークlimeの紹介 – lime without symfony part 1 « symfonyで開発日記

limeでなるべく気軽にユニットテストを書く – id:anatooのブログ はてなブックマーク - limeでなるべく気軽にユニットテストを書く - id:anatooのブログ

PHPでTest::MoreするならLimeを使おう – Lism.in * blog – nekoya (id:studio-m) はてなブックマーク - PHPでTest::MoreするならLimeを使おう - Lism.in * blog - nekoya (id:studio-m)

[PHP] limeでTDDを体験する – DQNEO起業日記 はてなブックマーク - [PHP] limeでTDDを体験する - DQNEO起業日記
 

以上です。
 

[MySQL] ユーザ削除は DELETE文ではなく DROP USER で行う

 

MySQLにて、既に存在しているユーザを削除して、同じユーザ名で再度、作成しようとしたらエラーが発生しました。
 

ユーザを削除する方法は下記のサイトを参考にしました。
 

MySQLのユーザ管理 はてなブックマーク - MySQLのユーザ管理
 

1
2
3
4
5
6
7
8
mysql> use mysql
Database changed
 
mysql> delete from user where user='bakorer';
Query OK, 1 row affected (0.00 sec)
 
mysql> create user 'bakorer' identified by 'passwd';
ERROR 1396 (HY000): Operation CREATE USER failed for 'bakorer'@'%'

 

下記の記事によると、ユーザ削除は drop user で行わなければいけないみたい。
 

MySQL 一度DELETEしたuserと同じ名前のuserを登録しようとすると失敗する – ガットポンポコ はてなブックマーク - MySQL 一度DELETEしたuserと同じ名前のuserを登録しようとすると失敗する - ガットポンポコ
 

drop user をした後、createしたら正常にユーザを作成できました。
 

1
2
3
4
5
mysql> drop user bakorer;
Query OK, 0 rows affected (0.00 sec)
 
mysql> create user 'bakorer' identified by 'passwd';
Query OK, 0 rows affected (0.00 sec)

 

以上です。
 

[DotCloud] 独自ドメインを dotcloud alias add で割り当てる

 

dotcloudで独自ドメインを割り当てる方法を調べたのでメモ。
 

独自ドメインの割り当ては、dotcloud alias add というコマンドで出来ます。
 

1
$ dotcloud alias add [dotcloudのアプリケーション名] [ドメイン名]

 

1
2
3
# dotcloud alias add bakorer.www www.example.com
Ok. Now please add the following DNS record:
www.example.com. IN CNAME gateway.dotcloud.com.

 

割り当て後、お名前.comのドメイン設定から「レンタルDNSレコード設定」します。
 

1
www.example.com CNAME gateway.dotcloud.com

 

以上です。
 

【参考】

CentOS 5.5にdotcloudの開発環境を作る | らいふログ はてなブックマーク - CentOS 5.5にdotcloudの開発環境を作る | らいふログ

dotcloudで遊んでみた – antipop はてなブックマーク - dotcloudで遊んでみた - antipop