[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
 

wget で SSL による接続が確立できないときは –no-check-certificate オプションを付ければOK

 

wget でhttps通信でデータをダウンロードしようとしたらエラーが出ました。
 

1
2
3
4
5
6
7
8
# wget https://github.com/downloads/facebook/tornado/tornado-1.2.1.tar.gz
--2011-06-18 21:59:33--  https://github.com/downloads/facebook/tornado/tornado-1.2.1.tar.gz
github.com をDNSに問いあわせています... 207.97.227.239
github.com|207.97.227.239|:443 に接続しています... 接続しました。
エラー: github.com の証明書(発行者: /C=US/O=DigiCert Inc/OU=www.digicert.com/CN=DigiCert High Assurance EV CA-1)の検証に失敗しました:
  発行者の権限を検証できませんでした。
github.com に安全の確認をしないで接続するには、`--no-check-certificate' を使ってください。
SSL による接続が確立できません。

 

エラーメッセージに出ているように、`–no-check-certificate’を付ければダウンロードできました。
 

1
# wget --no-check-certificate https://github.com/downloads/facebook/tornado/tornado-1.2.1.tar.gz

 

以上です。
 

Nginx(エンジンエックス)のインストール手順・方法

Nginxをインストールしたので、手順や方法をメモ。

nginx news

nginx(「エンジンエックス」と発音) は、軽量高性能なWebサーバ/リバースプロキシであり、同時に電子メール(IMAP/POP3)プロキシである。

・引用元:nginx – Wikipedia はてなブックマーク - nginx - Wikipedia

インストール手順

■ GCC、PCRE、zlib、OpenSSLをインストール

まず、Nginxのコンパイルに必要なものをインストールします。

# yum -y install gcc
# yum -y install pcre pcre-devel
# yum -y install zlib zlib-devel
# yum -y install openssl openssl-devel

■ Nginxのインストール

yum でインストールできる最も新しいバージョンは nginx 0.8.54 みたいです。

ちなみに、安定版は nginx-1.0.4 が2011-06-01にリリースされたもので最新のものになります。

# yum info nginx
Available Packages
Name       : nginx
Arch       : x86_64
Version    : 0.8.54
Release    : 1.el5
Size       : 389 k
Repo       : epel
Summary    : Robust, small and high performance HTTP and reverse proxy server
URL        : http://nginx.net/
License    : BSD
Description: Nginx [engine x] is an HTTP(S) server, HTTP(S) reverse proxy and
           : IMAP/POP3 proxy server written by Igor Sysoev.

早速、インストールします。

# yum -y install nginx

ちゃんとインストールされているか確認します。

# nginx -v
nginx version: nginx/0.8.54

オプションは nginx -h で確認できます。

# nginx -h
nginx version: nginx/0.8.54
Usage: nginx [-?hvVtq] [-s signal] [-c filename] [-p prefix] [-g directives]
 
Options:
  -?,-h         : this help
  -v            : show version and exit
  -V            : show version and configure options then exit
  -t            : test configuration and exit
  -q            : suppress non-error messages during configuration testing
  -s signal     : send signal to a master process: stop, quit, reopen, reload
  -p prefix     : set prefix path (default: /usr/share/nginx/)
  -c filename   : set configuration file (default: /etc/nginx/nginx.conf)
  -g directives : set global directives out of configuration file

例えば、どういう configure でインストールされたかは、 nginx -V で確認できます。

(読みやすくするため、configureオプションは改行して表示しています。)

# nginx -V
nginx version: nginx/0.8.54
built by gcc 4.1.2 20080704 (Red Hat 4.1.2-50)
TLS SNI support disabled
configure arguments:
--user=nginx
--group=nginx
--prefix=/usr/share/nginx
--sbin-path=/usr/sbin/nginx
--conf-path=/etc/nginx/nginx.conf
--error-log-path=/var/log/nginx/error.log
--http-log-path=/var/log/nginx/access.log
--http-client-body-temp-path=/var/lib/nginx/tmp/client_body
--http-proxy-temp-path=/var/lib/nginx/tmp/proxy
--http-fastcgi-temp-path=/var/lib/nginx/tmp/fastcgi
--http-uwsgi-temp-path=/var/lib/nginx/tmp/uwsgi
--http-scgi-temp-path=/var/lib/nginx/tmp/scgi
--pid-path=/var/run/nginx.pid
--lock-path=/var/lock/subsys/nginx
--with-http_ssl_module --with-http_realip_module
--with-http_addition_module
--with-http_xslt_module
--with-http_image_filter_module
--with-http_geoip_module
--with-http_sub_module
--with-http_dav_module
--with-http_flv_module
--with-http_gzip_static_module
--with-http_random_index_module
--with-http_secure_link_module
--with-http_degradation_module
--with-http_stub_status_module
--with-http_perl_module --with-mail
--with-file-aio --with-mail_ssl_module
--with-ipv6
--with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'
--with-cc-opt='-O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -mtune=generic'

■ Serviceに登録、自動起動設定

# chmod +x /etc/rc.d/init.d/nginx
# chkconfig --add nginx
# chkconfig nginx on
# chkconfig --list nginx
nginx          	0:off	1:off	2:on	3:on	4:on	5:on	6:off

インストール手順は以上です。

[Linux] # yum -y install yum-fastestmirror で速いリポジトリを自動的に選択

CentOSのパッケージ管理システム yum をアップデートするときに、高速化する方法を調べたのでメモ。

まず、yumコマンドで yum-fastestmirror をインストールします。

# yum -y install yum-fastestmirror

次に、yum check-update で fastestmirror プラグインが正常に読み込まれているか確認します。

# yum check-update
Loading "fastestmirror" plugin
Determining fastest mirrors
* base: ftp.iij.ad.jp
* extras: ftp.iij.ad..jp
* updates: ftp.iij.ad..jp

最後に、yumのアップデートが必要な場合は実行します。

# yum -y update

以上です。


参考情報

yumで速いリポジトリを自動的に選択するには - @IT

[Linux]# yum -y install yum-fastestmirrorでyum高速化 : うえちょこ@ぼろぐ

Mac に Ruby on Rails の開発環境を構築する手順 [Ruby 1.8.7]

MacOS に Ruby 1.8.7 で Ruby on Rails の開発環境を構築する手順をご紹介します。

Ruby on Rails

続きを読む

[Mac] Homebrew をインストール(ついでにGitもインストール)

Macで利用できるパッケージ管理ツール「Homebrew」をインストールしたのでメモ。
(最終更新日:2014/11/19)

・公式:Homebrew — MacPorts driving you to drink? Try Homebrew!

homebrewは、system に元から入っている環境をそのまま使うので、序盤の環境構築をサクサクできるというのがポイントみたいです。

Homebrew インストール

HomebrewのインストールをGitHubからRubyスクリプトで行います。

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

インストールが完了したら、brew doctor を実行します。

$ brew doctor
 
Error: Experimental support for using Xcode without the "Command Line Tools".

Command Line Tools をインストールしろと言われるので、

Xcodeのメニュー
Xcode->Open Developer tool -> More Developer tool
をクリックして、ジャンプ先から Command Line Tool for Xcodeをダウンロードする。
ダウンロードして、通常のアプリケーションと同じようにインストール。

再度、brew doctor を実行。

$ brew doctor
Your system is ready to brew.

OK!

Homebrew自体Gitを使っているので、まずGitをインストールします。

インストール後、すぐにupdateします。

$ brew install git
 
$ brew update
 
$ brew -v
0.9.4

以上です。

========

もし、brew install git がエラーで失敗する場合は、kernel.orgのサイトが利用できないのが原因ということがあります。
(今回は kernel.org がメンテナンス中で使えませんでした。)

この場合、Formula内の git.rb を編集して、ダウンロード先のURLを書き換える必要があります。

$ vim /usr/local/Library/Formula/git.rb

デフォルトでは、以下のようになっているのを、

class GitManuals < Formula
  url 'http://kernel.org/pub/software/scm/git/git-manpages-1.7.6.1.tar.bz2'
  md5 'cae559424a62507cb2c15252d85a158e'
end
 
class GitHtmldocs < Formula
  url 'http://kernel.org/pub/software/scm/git/git-htmldocs-1.7.6.1.tar.bz2'
  md5 'f698e0abbf1555582e30320930391c59'
end
 
class Git < Formula
  url 'http://kernel.org/pub/software/scm/git/git-1.7.6.1.tar.bz2'
  md5 'd1e00772cc9dc6c571999feb9e8771ab'

以下のように書き換えます。

class GitManuals < Formula
  url 'http://ftp.uk.freesbie.org/sites/ftp.kernel.org/pub/software/scm/git-core/git-manpages-1.7.6.1.tar.bz2'
  md5 'cae559424a62507cb2c15252d85a158e'
end
 
class GitHtmldocs < Formula
  url 'http://ftp.ntu.edu.tw/ftp/pub2/software/scm/git/git-htmldocs-1.7.6.1.tar.bz2'
  md5 'f698e0abbf1555582e30320930391c59'
end
 
class Git < Formula
  url 'https://github.com/git/git/tarball/v1.7.6.1'
  md5 'ab731cf9b99529f3f8d126aa15d9a1cd'

今回のように、kernel.orgが落ちていたら、ミラーサイトのURLに書き換えましょう。

Index of /pub/software/scm/git

・git関連のミラーサイト:Index of /ftp/pub2/software/scm/git/

・gitのミラーサイト:Downloads for git's git – GitHub

以上です。


参考情報

初めてのHomebrewインストール. #install #環境構築 #homebrew – Qiita

[homebrew]Homebrewインストールメモ | milligramme 3cc

OS X LionのMacbookAirを買ってからRailsの開発環境整えるためにやったことメモ | 野ログはノロキュアMaxHeart

Installation – GitHub

homebrew – alternative source for installing git. brew install git; kernel.org Down for maintenance – Stack Overflow