Simple is Best

Friday, March 07, 2008

 

mysql's stability with glibc2.3(nptl)

one week ago, the user trace table in our mysql database reached about 2,00,000,000 rows, it used about 40G tablespace,
but works great without any crash last 24 months after last change.
we are using innodb engine on old mysql4.0.x version(self compiled) with rhel3/4,it began at 2005,which migrated from mysql4/rhas2.1 to mysql4/rhel3.
but after the upgrade,the db often crashed and the log only gave me an innodb internal error. i try to upgrad mysql to mysql4.0.27 and it still happened,  checked INSTALL-SOURCE from mysql.tar.gz,nothing wrong,but can't resolve the crash.
we used the compile  in INSTALL-SOURCE like below
./configure \
--prefix=/opt/mysql --enable-assembler \
--with-mysqld-ldflags=-all-static

but recompile can't reslove the crash, after about two days search, finally found mysqld manual compile like below works unstable with new glibc2.3  from rhel3 which began support nptl .
the solution is sample, compile the mysql without the ldflags all-static mark,  compile like below:
./configure --prefix=/opt/mysql --with-extra-charsets=complex --enable-thread-safe-client --enable-local-infile --enable-assembler --without-debug
after this compile, the innodb engine works perfect with nptl from glibc2.3, the reason maybe glibc2.3's backward compatibility for LinuxThreads.
Maybe it's time for mysql.tar.gz update the INSTALL-SOURCE txt:)
Comments: Post a Comment

Subscribe to Post Comments [Atom]





<< Home

Archives

May 2004   November 2004   April 2005   January 2006   June 2006   March 2008   April 2008  

This page is powered by Blogger. Isn't yours?

Subscribe to Posts [Atom]