月: 2014年3月

MySQL:”ERROR 1033 (HY000): Incorrect information in file:”

MySQL:”ERROR 1033 (HY000): Incorrect information in file:”

MySQLのメモリ関係のパラメータで
「innodb_buffer_pool_size」の変更にあわせて
「innodb_log_file_size」を変更してMySQLを再起動したら
“ERROR 1033 (HY000): Incorrect information in file:”
が出た。

参考URLの内容そのままだけど、

/var/lib/mysql/ib_logfile0
/var/lib/mysql/ib_logfile1

↑とかのトランザクションログっぽいファイルを退避して
それからMySQLを再起動すれば直る。(パスは設定による)

※innoDB系のメモリのデフォルト値は以下

mysql> SHOW VARIABLES LIKE “innodb_%_size”;
+———————————+———+
| Variable_name | Value |
+———————————+———+
| innodb_additional_mem_pool_size | 1048576 |
| innodb_buffer_pool_size | 8388608 |
| innodb_log_buffer_size | 1048576 |
| innodb_log_file_size | 5242880 |
+———————————+———+

■参考URL
shin3tky blog:MySQL の innodb_log_file_size の調整

kakakikikekeのブログ:ERROR 1033 (HY000): Incorrect information in file

初心者のプログラムメモ:mysql ERROR 1033 (HY000): Incorrect information in file:

Before Today:MySQL|mysql ERROR 1033 (HY000): Incorrect information in file:

OpenVZのリソース状態を確認

OpenVZのリソース状態を確認する。

コンテナ側で以下のコマンドを実行

# cat /proc/user_beancounters
Version: 2.5
uid resource held maxheld barrier limit failcnt
171: kmemsize 8808593 10514432 14372700 14790164 0
lockedpages 0 0 2048 2048 0
privvmpages 86999 152549 262144 262144 0
shmpages 4511 5807 21504 21504 0
dummy 0 0 0 0 0
numproc 65 86 240 240 0
physpages 58785 457240 0 2147483647 0
vmguarpages 0 0 131072 131072 0
oomguarpages 43503 52001 26112 2147483647 0
numtcpsock 28 39 360 360 0
numflock 16 188 188 206 3819
numpty 4 6 16 16 0
numsiginfo 0 15 256 256 0
tcpsndbuf 213856 1438168 1720320 2703360 0
tcprcvbuf 214040 1718240 1720320 2703360 2
othersockbuf 15736 198024 1126080 2097152 0
dgramrcvbuf 0 4296 262144 262144 0
numothersock 114 120 120 120 17517
dcachesize 2887879 3624960 3409920 3624960 0
numfile 1148 1340 9312 9312 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
dummy 0 0 0 0 0
numiptent 20 20 128 128 0

「failcnt」が0なら健全らしい。

そもそもなんで今回この値を確認したくなったかというと、
コンテナ中にsambaをインストールしている環境でコンテナ側からwindows上にファイルを
コピーすると途中で止まると言われたから。

上記の結果からすると「numflock」と「numothersock」が良くない感じになっている。
それぞれの意味はこちら。

【numflock】
全てのVPS プロセスが作成するファイルロックの数

【numothersock】
TCP 以外のソケットの数。ローカル(UNIX ドメイン)
ソケットはシステム内の通信に使用されます。
UDP ソケットは、ドメインネーム サービス(DNS)の
クエリなどに使用されます。
UDPおよびその他ソケットで使用されます。

とりあえず「numothersock」から上限をあげてみた。

vzctl set 171 --numothersock 512 --save

で、もう一回samba経由でファイルを大量にコピーしてもらうも駄目。
でも「numothersock」のfailcntは増えなくなったのでこれはこれでいいみたい。

次に「numflock」も上限をあげてみる

vzctl set 171 --numflock 350 --save

で、もう一回samba経由でファイルを大量にコピーしてもらうも駄目。
「maxheld」の値が350までいってしまったのでまだ足りないということか、、、。
だめもとで一回無制限にしてみる

vzctl set 171 --numflock unlimited --save

この状態でsamba経由で大量にファイルをコピーしてもらったら出来た!
終った状態で「numflock」の「maxheld」を見ると2071だった。。
全然足りてなかったな。。

とりあえずこれでOKということにしておく。
今回初めてunlimitedなんていう設定値があることを知った。
OpenVZ環境で何か問題があったら「/proc/user_beancounters」をみよう。

PHP5.3環境でPHP Parse error: syntax error, unexpected $end in …

PHP Parse error: syntax error, unexpected $end in …

いまさら感満載ですが、PHP5.1.6環境で正常に動作していたプログラムをPHP5.3.3環境に
移したら
「PHP Parse error: syntax error, unexpected $end in …」
このエラーが表示されるようになった。

Parse error: syntax error, unexpected $end in について

上記サイトにあるような対策を打とうにもそもそもPHP5.1.6
環境で動いていたので、多分そうじゃない。

色々やってみて結局PHPの「short_open_tag」の設定の違い
だとわかった。
PHP5.1.6環境では「On」になっていたがPHP5.3.3環境では「Off」
になっていた。

とりあえず.htaccessに

php_flag short_open_tag on

と記述して対応。