流石に 64bit な Linux ともなると色々面倒な事も多く、行き詰まったときに時間がかかる。
ということで逃げに走って 32bit 版 CentOS 5.2 に入れ替えちゃいました。

# 2008/12/26 01:39 MySQL に関して追記事項あり。


とりあえず今日の昼位までに OS をインストール。
パーティションは既存の構成のままで /home 以外をフォーマットで完了。

conf ファイルやらはバックアップ取って稼働ホストに scp ですっ飛ばしておいたから
後の Build は楽々。作業時間は数時間でほぼ構築中だった環境に戻りました。
既に NTPd, DNS, FTPd. Squid, Quota, Apache まで稼働中。
メール系はとりあえず明日に回すかな。Postfix と Dovecot 入れるだけ。

んで最後に MySQL を Build してみた。

$ CFLAGS=”-O3 -mtune=k8″ CXX=gcc CXXFLAGS=”-O3 -mtune=k8 -felide-constructors -fno-exceptions -fno-rtti” ./configure –prefix=/usr/local/mysql –localstatedir=/var/mysql –enable-thread-safe-client –enable-assembler –with-mysqld-ldflags=-all-static –with-mysqld-user=mysql –with-charset=ujis –with-extra-charsets=complex –with-plugins=innobase

こんな感じで configure して make して問題無く完了。

しかし、正常に DB を稼働できるかのテストスクリプトでエラー発生。

main.lc_time_names_basic       [ pass ]            331
main.lc_time_names_func        [ pass ]              3
main.license_basic             [ pass ]            113
main.limit                     [ fail ]
 
--- /var/tmp/src/mysql-5.1.30/mysql-test/r/limit.result 2008-11-14 20:30:49.000000000 +0300
+++ /var/tmp/src/mysql-5.1.30/mysql-test/r/limit.reject 2008-12-25 15:30:12.000000000 +0300
@@ -107,6 +107,7 @@
 set @a=14632475938453979136;
 execute s using @a, @a;
 1
+1
 set @a=-14632475938453979136;
 execute s using @a, @a;
 ERROR HY000: Incorrect arguments to EXECUTE
 
mysqltest: Result length mismatch
 
 
Warnings from just before the error:
Error 1292 Truncated incorrect DECIMAL value: ''
 
Aborting: main.limit failed in default mode.
To continue, re-run with '--force'.
Stopping All Servers

扱うデータがでかくてエラー。なんじゃそりゃって調べてみたら Bug だそうだ。
MySQL 5.1 以上の 32bit 版にて発生する模様。今回 Build したのは 5.1.30。
このバグのフィックスは 5.1.31 で行われるとのこと。

参考
Bug #37075 offset of limit clause might be truncated on 32-bits server w/o big tables

でまぁとりあえず PID の位置も /var/run 以下に置きたいのでまたコンパイルし直しかな。
この Bug に対する patch も公開されてるけど 5.1.31 を待つか 5.0 系で凌ぐかってな
所かなと。どうせ SQL は使いこなせないし (笑

OS を 32bit に変えたのは良いが、こういう Bug に遭遇するのはちと勘弁だわな…

# 2008/12/26 01:40 追記
MySQL の configure で –with-big-tables を付ければ何ら問題の無いことだった。
とりあえずはこれで行ってみよう。

Related posts:

  1. 新サーバー構築 其の二 MySQL
  2. サーバー構築 挫折編
  3. PHP Extension – eAccelerator v0.9.5.2
  4. いい Apache のログ解析ソフトみっけ!!
  5. サーバー構築 もう一度やりなおそう…

 返信する


*

以下のHTML タグと属性が利用できます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <img localsrc="" alt=""> <pre lang="" line="" escaped="" highlight="">

   
59 queries. 0.306 seconds.