MySQLを再ビルド
id:mirさんのところの情報を参考に、
ubuntu8を入れたので、改めてMySQLをビルドしなおしてみた。
1. configure実行
CC=gcc CXX=gcc CFLAGS=-g CXXFLAGS=-g ./configure \ --prefix=/usr/local/mysql \ --localstatedir=/usr/local/mysql/data \ --libexecdir=/usr/local/mysql/bin \ --enable-thread-safe-client \ --enable-local-infile \ --enable-assembler \ --with-pic \ --with-fast-mutexes \ --with-client-ldflags=-static \ --with-mysqld-ldflags=-static \ --with-zlib-dir=bundled \ --with-big-tables \ --with-yassl \ --with-readline \ --with-archive-storage-engine \ --with-blackhole-storage-engine \ --with-csv-storage-engine \ --with-example-storage-engine \ --with-federated-storage-engine \ --with-innodb \ --with-extra-charsets=complex \ --with-debug
2. make実行
$ make
3. no-stripでパッケージング
$ scripts/make_binary_distribution --no-strip
これを実行すると私の環境では、
『mysql-5.0.51a-linux-i686.tar.gz』 というファイルが出来上がりました。
4. テストの実行
$ tar xfz mysql-5.0.51a-linux-i686.tar.gz $ cd mysql-5.0.51a-linux-i686/ $ cd ./mysql-test $ perl ./mysql-test-run.pl | tee test.log : --- /home/tagui/mysql/mysql-5.0.51a-linux-i686/mysql-test/r/view.result 2008-01-11 18:23:42.000000000 +0300 +++ /home/tagui/mysql/mysql-5.0.51a-linux-i686/mysql-test/var/log/view.reject 2008-05-22 05:53:37.000000000 +0300 @@ -2719,12 +2719,12 @@ v1 CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`localhost` SQL SECURITY DEFINER VIEW `v1` AS select (year(now()) - year(`t1`.`DOB`)) AS `Age` from `t1` having (`Age` < 75) SELECT (year(now())-year(DOB)) AS Age FROM t1 HAVING Age < 75; Age -43 -39 +44 +40 SELECT * FROM v1; Age -43 -39 +44 +40 DROP VIEW v1; DROP TABLE t1; CREATE TABLE t1 (id int NOT NULL PRIMARY KEY, a char(6) DEFAULT 'xxx'); mysqltest: Result content mismatch Aborting: view failed in default mode. To continue, re-run with '--force'. Stopping All Servers
商用バージョンのビルドオプションを確認してないので、いいのか悪いのか確認までは、
してないけど、Viewのテストで問題があるみたい。
とりあえず致命的なものではなさそうなので、ひとまずオッケーとしておく。
forceをつけて再実行
$ perl ./mysql-test-run.pl --force | tee test.log : ------------------------------------------------------- Stopping All Servers Failed 1/437 tests, 99.77% were successful.
で、viewの失敗一つ除いて、うまくいったよう。
5. テスト結果の確認
$ grep "Lost connection" test.log $ grep "\[ fail" test.log
6. my.cnfを用意
$ sudo cp ./support-files/my-medium.cnf /etc/my.cnf
# basedirが/usr/local/mysqlではないので、設定を変更しておく。
$ sudo vi /etc/my.cnf
[mysqld] basedir=[ここにインストールディレクトリを指定]
#起動確認 $ cd ../bin $ mysqld