サーバー構築 出直し編

Linux
この記事は約4分で読めます。
この記事は最終更新日より 1 年以上経過しています。
画像やリンクが無効になっている可能性もあるのでご了承下さい。

流石に 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 を付ければ何ら問題の無いことだった。
とりあえずはこれで行ってみよう。

著者プロフィール
ぶっち

本格的に PC へ触れ始めてたのは 1990 年位から。
興味は PC 全般。OS は Windows と Linux などを嗜む。
プログラマやネットワークエンジニアを経てフリーに活動している 40 代も後半に入ったおじさんです。

ぶっちをフォローする

コメント

This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.