User account menu

  • Log in
BXTra.net

Breadcrumb

  • Home
  • Articles
  • Replace normal " Build-in InnoDB" with "InnoDB Plugin" under DirectAdmin + CentOS 64 bits + MySQL 5.1

Replace normal " Build-in InnoDB" with "InnoDB Plugin" under DirectAdmin + CentOS 64 bits + MySQL 5.1

By BXTra | 1:55 AM PDT, Thu September 16, 2010
MySQL
CentOS
DirectAdmin
InnoDB

For some reason, under CentOS, Custombuild in DirectAdmin use "MySQL - Generic Linux (glibc 2.3) (x86, 64-bit) RPM file" instead of MySQL RPM files for Redhat. The different for these 2 packages are that, RPM for Redhat contain "ha_innodb_plugin.so" but not in Generic RPM package.

Compare files in Plugin folder on two different RPM.


MySQL Linux Generic RPM


MySQL Linux Redhat RPM

Now, there are 2 methods to use Redhat RPM package.

WARNING : Before doing any steps below.... Please BACKUP your database.

First Method : By download and do manual install of the package.

1.1 Download 4 packages below from MySQL website :

MySQL-server-community-5.1.50-1.rhel5.x86_64.rpm
MySQL-client-community-5.1.50-1.rhel5.x86_64.rpm
MySQL-devel-community-5.1.50-1.rhel5.x86_64.rpm
MySQL-shared-community-5.1.50-1.rhel5.x86_64.rpm

1.2 Install it.

# rpm -Uhv --nodeps MySQL-shared-community-5.1.50-1.rhel5.x86_64.rpm --force
# rpm -Uhv --nodeps MySQL-client-community-5.1.50-1.rhel5.x86_64.rpm --force
# rpm -Uhv --nodeps MySQL-devel-community-5.1.50-1.rhel5.x86_64.rpm --force
# rpm -Uhv --nodeps MySQL-server-community-5.1.50-1.rhel5.x86_64.rpm --force

Second Method : By modify custombuild script and let script do it for you. (Note that the script I modify is version 1.2.13)

2.1 Download 4 packages below from MySQL website and put it in /usr/local/directadmin/custombuild/mysql

MySQL-server-community-5.1.50-1.rhel5.x86_64.rpm
MySQL-client-community-5.1.50-1.rhel5.x86_64.rpm
MySQL-devel-community-5.1.50-1.rhel5.x86_64.rpm
MySQL-shared-community-5.1.50-1.rhel5.x86_64.rpm

2.2 Modify build script :

# cd /usr/local/directadmin/custombuild
# nano -w build

2.3 Modify code from :

MYSQLURL=${WEBPATH_SERVICES}/all/mysql/64-bit
MYSQL_EXT=glibc23.x86_64
fi

MYSQLCLIENT=MySQL-client-${MYSQL_VER}-${MYSQL_REL}.$MYSQL_EXT.rpm
MYSQLDEVEL=MySQL-devel-${MYSQL_VER}-${MYSQL_REL}.$MYSQL_EXT.rpm
MYSQLSERVER=MySQL-server-${MYSQL_VER}-${MYSQL_REL}.$MYSQL_EXT.rpm
MYSQLSHARED=MySQL-shared-${MYSQL_VER}-${MYSQL_REL}.$MYSQL_EXT.rpm

To


MYSQLURL=${WEBPATH_SERVICES}/all/mysql/64-bit
MYSQL_EXT=rhel5.x86_64
fi

MYSQLCLIENT=MySQL-client-community-${MYSQL_VER}-${MYSQL_REL}.$MYSQL_EXT.rpm
MYSQLDEVEL=MySQL-devel-community-${MYSQL_VER}-${MYSQL_REL}.$MYSQL_EXT.rpm
MYSQLSERVER=MySQL-server-community-${MYSQL_VER}-${MYSQL_REL}.$MYSQL_EXT.rpm
MYSQLSHARED=MySQL-shared-community-${MYSQL_VER}-${MYSQL_REL}.$MYSQL_EXT.rpm

2.4 Run custombuild script :

# ./build mysql

3. After install Redhat RPM package. modify MySQL to enable InnoDB Plugin :

# nano -w /etc/my.cnf

Add lines below under [mysqld] section:

ignore-builtin-innodb
plugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so;innodb_locks=ha_innodb_plugin.so;innodb_lock_waits=ha_innodb_plugin.so;innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_innodb_plugin.so;innodb_cmpmem=ha_innodb_plugin.so;innodb_cmpmem_reset=ha_innodb_plugin.so

If you want to use new features provided by InnoDB Plugin. You may consider add these 2 lines also :

innodb_file_format=barracuda
innodb_file_per_table=1

4. Restart mysql and check if InnoDB Plugin is working :

# /etc/init.d/mysqld restart
# mysql
# show plugins;

The screen below should be shown :

Now, you got your InnoDB Plugin working :)

Note 1 : If you want to remove old RPM package do the following:

Note 1.1 - Check what MySQL package is installed :

# rpm -qa | grep -i '^mysql-'

Note 1.2 - Remove old package. (I can't guarantee if this step will delete any data or not. But I did it and it didn't affect any of my data.)

# rpm --nodeps -ev MySQL-server-5.1.50-1.glibc23
# rpm --nodeps -ev MySQL-client-5.1.50-1.glibc23
# rpm --nodeps -ev MySQL-shared-5.1.50-1.glibc23
# rpm --nodeps -ev MySQL-devel-5.1.50-1.glibc23

Note 2 : Don't even think about to extract just Innodb Plugin (ha_innodb_plugin.so.0) from Redhat package to use on Generic Linux package. MySQL will start and looks like everything work perfect. But if you start to deal anything with InnoDB, you will always get error about "Lost connection". Also, I did try to compile InnoDB Plugin from source code. That didn't work either. I can't even start MySQL at all.

Source : http://dev.mysql.com/doc/refman/5.1/en/replacing-builtin-innodb.html

UPDATE (11 Jan 2011) : If install DirectAdmin with MySQL 5.5, there is no need to follow this guide anymore. Just update normally using Custombuild. Then add 3 lines and comment out some setting that doesn't need anymore. See below :

innodb_file_format=Barracuda
innodb_file_format_max=Barracuda
innodb_file_per_table=1
#default_storage_ENGINE=MyISAM
#default_table_type = INNODB
#ignore-builtin-innodb
#plugin-load=innodb=ha_innodb_plugin.so;innodb_trx=ha_innodb_plugin.so;innodb_locks=ha_innodb_plugin.so;innodb_lock_waits=ha_innodb_plugin.so;innodb_cmp=ha_innodb_plugin.so;innodb_cmp_reset=ha_innodb_plugin.so;innodb_cmpmem=ha_innodb_plugin.so;innodb_cmpmem_reset=ha_innodb_plugin.so

Also, if there is any error trying to start MySQL, check your my.cnf. If there is "skip-locking", just change it to "skip-external-locking".

About text formats
  • No HTML tags allowed.
  • Web page addresses and email addresses turn into links automatically.
  • Lines and paragraphs break automatically.

  • Will the router get the Openvpn as a client option?
    6 years ago
  • cancellation
    6 years 1 month ago
  • Router ASUS RT-N12 D1 tomatoes passwort falsch
    7 years 8 months ago
  • WPS button = 30/30/30 hard reset button
    7 years 9 months ago
  • Save my day!
    8 years 3 months ago
  • How to
    8 years 6 months ago
  • Can i still access my modem (the one with the ISP provided)?
    8 years 6 months ago
  • A saving step!
    8 years 10 months ago
  • Problem with Asus n12e-c1
    8 years 11 months ago
  • don't use Hostgator
    9 years 2 months ago

© 2007 - 2023 BXTra.net. All Rights Reserved. 
Certain other content, photos and artwork displayed on BXTra.net are protected by copyright and are the property of their respective owners.

Privacy Policy