This page lists current Percona releases, newest first. Patch documentation is also available.
MySQL is a trademark of Sun Microsystems. Percona is an independent firm, not affiliated with Sun Microsystems. All software modified and distributed in accord with the GPL v2 license.
Add this to /etc/apt/sources.list
deb http://repo.percona.com/apt lenny main deb-src http://repo.percona.com/apt lenny main
Do not forget to update the local cache
# apt-get update
Create a file Percona.repo in /etc/yum.repos.d with following content
[percona] name=CentOS-$releasever - Percona baseurl=http://repo.percona.com/centos/$releasever/os/$basearch/ gpgcheck=0
make sure packages are downloaded from the repository
Note that the below output doesn't show the 5.0 builds, but they are still available. For example, MySQL-server-percona.x86_64 version 5.0.87-b20.29.rhel5 is available, but not shown because there is a newer build available (the 5.1 builds with XtraDB). Yum shows only the latest version.
# yum list | grep percona
MySQL-client-percona.x86_64 5.1.39-8.rhel5 percona
MySQL-server-percona.x86_64 5.1.39-8.rhel5 percona
MySQL-client-percona-highperf.x86_64
5.0.87-b20.29.rhel5 percona
MySQL-devel-percona.x86_64 5.1.39-8.rhel5 percona
MySQL-devel-percona-highperf.x86_64
5.0.87-b20.29.rhel5 percona
MySQL-server-percona.x86_64 5.1.39-8.rhel5 percona
MySQL-server-percona-highperf.x86_64
5.0.87-b20.29.rhel5 percona
MySQL-shared-percona.x86_64 5.1.39-8.rhel5 percona
MySQL-shared-percona-highperf.x86_64
5.0.87-b20.29.rhel5 percona
MySQL-test-percona.x86_64 5.1.39-8.rhel5 percona
MySQL-test-percona-highperf.x86_64
5.0.87-b20.29.rhel5 percona
Percona-XtraDB-1.0.4-8.x86_64 5.1.39-8.rhel5 percona
xtrabackup.x86_64 0.9.5rc-50.rhel5 percona
To install MySQL-server-percona 5.0 series with Percona patches instead of 5.1 with XtraDB, you have to specify the version, e.g:
yum install MySQL-server-percona.x86_64 0:5.0.87-b20.29.rhel5
XtraDB release as well as documentation can be found on The Percona XtraDB Storage Engine page
Percona builds and releases enhanced versions of the MySQL server, with extra features for improved performance, monitoring, instrumentation and manageability. Our builds are freely available and widely used in demanding installations. If you would like us to develop some custom features for you, that is also possible. You can read more about how we develop the builds, and contact us to discuss.
Percona XtraDB is Percona's new high-performance transactional storage engine for MySQL. >> More information about XtraDB
OpenSource version of InnoDB backup with support of Percona extensions. >> More information about XtraBackup
Discussion
hi!!
you have a syntax error in the microslow patch: http://www.percona.com/mysql/5.0.77-b13/patches/microslow_innodb.patch
this line misses a bracket:
newtime= (GetTickCount() * 1000; /* GetTickCount only returns milliseconds */
There is a new version (mainly bugfixes) of mysql - 5.0.82. Did you plan to patch it soon?
Sergio, it should be fixed in next build
Thank you. Only now I'm noticed here wiki syntax used
Pedro,
What OS do you use ?
PLD ( http://pld-linux.org/ )
BTW, just compiled 5.0.77 b16 It's ok on PLD as I see… So the problem is in 5.0.82… :(
Pedro,
Can you run BUILD/compile-pentium ?
it may help
hello, its a windows only problem. but then again, entire source don't compile on windows in any case…
Hi,
can you please include 'show client_statistics' in userstats.patch for mysql-5.1.x ?
thanks, alagar
Hi,
can you please include 'show client_statistics' in userstats.patch for mysql-5.1.x ?
thanks, alagar
Looks like there's memory leak in the userstats patch. See https://bugs.launchpad.net/ourdelta/+bug/338012
Do you guys have an scheduled release for the patched 5.1.36? We upgraded to the patched 5.1.34 but had numerous crashes due to a GROUP BY bug in 5.1.34 (the bug is in MySQL code, not the Percona patches) and were forced to upgrade to a un-patched 5.1.36.
Singer, We have released 5.1.36-XtraDB6, check in XTraDB releases.
Vadim:
Okay, waht's the difference between the 5.1.36-XtraDB6 and the Percona-5.1.36?
Eg. What's available here http://www.percona.com/mysql/ vs http://www.percona.com/mysql/xtradb/
We were using the 'Enhanced and Patched MySQL Servers' for better InnoDB performance, not the XtraDB featurse.
For people who want the performance patches but not the XtraDB storage engine, will you be creating a 5.1.36 without XtraDB? If not, are new binaries only going to appear in percona.com/mysql/xtradb?
Sheeri,
We did not port performance patches for 5.1 with standard InnoDB, and do not have plans to, unless there are special requests.
We do plan only move forward with percona.com/mysql/xtradb
Are there src.rpm packages for 5.0.84?
when running the make on this version: mysql-5.1.26-rc-percona-src.tar.gz (yes, I untarr'd it & ran ./configure –prefix=/opt/mysql) make failed.
the error was not clear but it seemed like it was some yacc command. ha! I not only did NOT have yacc/lex but I didn't have bison/flex. I'd already installed other versions of mysql just fine. Installed bison flex & make worked. Would have been nice if configure stopped & told me I needed those ….
Ruben,
please find src.rpm in http://www.percona.com/mysql/5.0.84-b18/source/
We use php to do some nagios monitoring of our slaves and if I installed 5.1.37 with XtraDB I am getting:
[root@DB3 x86_64]# rpm -qa | grep -i mysql MySQL-devel-percona-5.1.37-7.rhel5 MySQL-client-percona-5.1.37-7.rhel5 MySQL-server-percona-5.1.37-7.rhel5 MySQL-test-percona-5.1.37-7.rhel5 MySQL-shared-percona-5.1.37-7.rhel5
[root@DB3 x86_64]# yum install php-mysql 1738 packages excluded due to repository priority protections Setting up Install Process Parsing package install arguments Resolving Dependencies –> Running transaction check —> Package php-mysql.x86_64 0:5.1.6-23.2.el5_3 set to be updated –> Processing Dependency: php-pdo for package: php-mysql –> Processing Dependency: libmysqlclient.so.15(libmysqlclient_15)(64bit) for package: php-mysql –> Processing Dependency: libmysqlclient.so.15()(64bit) for package: php-mysql –> Running transaction check —> Package php-pdo.x86_64 0:5.1.6-23.2.el5_3 set to be updated —> Package mysql.x86_64 0:5.0.45-7.el5 set to be updated –> Processing Conflict: mysql conflicts MySQL –> Finished Dependency Resolution mysql-5.0.45-7.el5.x86_64 from base has depsolving problems
Error: mysql conflicts with MySQL-server-percona [root@DB3 x86_64]#
Is there any way to make rpm see MySQL-server-percona as mysql so that conflicts wont occur? Or can we get it rebuild to install as mysql to support php installs on the same host.
As a follow up , if you would just build a shared-compat this would fix my issue, it seems php on el5 is built against mysql 5.0 not 5.1 and so there was some missing/renamed so files. installing http://downloads.mysql.com/archives/mysql-5.1/MySQL-shared-compat-5.1.37-0.rhel5.x86_64.rpm corrected the issues.
Why do you add the build number to the RPM name? Shouldn't that stay in the version field? It forces an uninstall & reinstall of the RPM. Plus, it makes our puppet configuration more complicated.
Garrett,
There is no particular preference in our current version name over what you propose. We may reconsider that. Thanks!
Build of the high perf 5.0.84 fails Fedora 11 updated to Sept 30, GCC 4.4.1
ha_innodb.cc: In function ‘bool innodb_I_S_buffer_pool_content(THD*, TABLE_LIST*)’: ha_innodb.cc:6784: error: invalid conversion from ‘const char*’ to ‘char*’
./configure \
build of 84 and 86 from mysql.com succeed
Is there any plans to add the userstats to 5.1.3x-xtradb release? This is probably one of the most useful patches there is for hosting providers and the like, shame to see it missing from the new xtradb releases. Unless I'm blind?
Craig,
We have the plan to port userstats to 5.1 but we concentrate on patches and features which are most interested for customers.
I dont see the sphinx engine patch…?
re: userstats Understood. Just FYI (for your own feedback or anyone else reading this): With a few modifications we can get the userstatsv1 patch from 5.1.29-percona to apply and build cleanly against the xtradb release but I'm a little scared to use that in production. I'm taking it you removed it for a good reason?
Our environment is Opensolaris/amd64 and we're building 64bit binaries with sunstudio12. We can build the xtradb releases without much issue, but the recent 5.0.3x-percona builds don't seem to build at all in this environment, as they seem to depend on gcc (gcc4?):
#ifdef HAVE_ATOMIC_BUILTINS /* This value means NOT_LOCKED */ #define RW_LOCK_BIAS 0×00100000 #else #error HAVE_ATOMIC_BUILTINS is not defined. Do you use enough new GCC or compatibles?
Craig,
userstatv1 is not tested really in 5.1, so I can't say how it works…
To compile our builds you need GCC 4.1 at least.
Is there any issue's that you are aware of with using sunstudio for 64bit/amd64 xtradb builds? From memory, it's what sun recommends for building 64bit MySQL on solaris/opensolaris, and it seems to work fairly well (for xtradb and vanilla mysql)… we havn't run into trouble yet.
GCC has all kinds of issues (there's also no native gcc4 package on these systems).
Have you guy's considered having support for solaris/opensolaris out of the box? Solaris/ZFS is obviously very attractive for new MySQL deployments.
Craig,
We see increasing interest to Solaris platform, so most likely releases for Solaris will be available sometime.
Mmmm…:
wget http://www.percona.com/mysql/5.0.87-b20/source/mysql-5.0.87-percona-b20-src.tar.gz –2009-11-24 23:35:32– http://www.percona.com/mysql/5.0.87-b20/source/mysql-5.0.87-percona-b20-src.tar.gz Resolving www.percona.com… 69.80.205.238 Connecting to www.percona.com|69.80.205.238|:80… connected. HTTP request sent, awaiting response… 404 Not Found 2009-11-24 23:35:33 ERROR 404: Not Found.
wget http://www.percona.com/mysql/5.0.87-b20/source/mysql-5.0.87-percona-highperf-b20-src.tar.gz –2009-11-24 23:35:51– http://www.percona.com/mysql/5.0.87-b20/source/mysql-5.0.87-percona-highperf-b20-src.tar.gz Resolving www.percona.com… 69.80.205.238 Connecting to www.percona.com|69.80.205.238|:80… connected. HTTP request sent, awaiting response… 404 Not Found 2009-11-24 23:35:51 ERROR 404: Not Found.
Hi guys.
I have issues compiling the 5.0.87 release, probably some deps missing but I cannot understand what the issue is really.
I get the same error locally (32bit) and in prod. Exact same error when downloading src-mysql from MySQL + applying some patches wget http://www.percona.com/mysql/5.0.87-b20/patches/show_patches.patch && patch -p1 < show_patches.patch wget http://www.percona.com/mysql/5.0.87-b20/patches/microslow_innodb.patch && patch -p1 < microslow_innodb.patch wget http://www.percona.com/mysql/5.0.87-b20/patches/userstatv2.patch && patch -p1 < userstatv2.patch wget http://www.percona.com/mysql/5.0.87-b20/patches/microsec_process.patch && patch -p1 < microsec_process.patch wget http://www.percona.com/mysql/5.0.87-b20/patches/innodb_io_patches.patch && patch -p1 < innodb_io_patches.patch wget http://www.percona.com/mysql/5.0.87-b20/patches/mirror_binlog.patch && patch -p1 < mirror_binlog.patch wget http://www.percona.com/mysql/5.0.87-b20/patches/mysqld_safe_syslog.patch && patch -p1 < mysqld_safe_syslog.patch wget http://www.percona.com/mysql/5.0.87-b20/patches/innodb_locks_held.patch && patch -p1 < innodb_locks_held.patch wget http://www.percona.com/mysql/5.0.87-b20/patches/innodb_show_bp.patch && patch -p1 < innodb_show_bp.patch wget http://www.percona.com/mysql/5.0.87-b20/patches/innodb_check_fragmentation.patch && patch -p1 < innodb_check_fragmentation.patch wget http://www.percona.com/mysql/5.0.87-b20/patches/innodb_io_pattern.patch && patch -p1 < innodb_io_pattern.patch wget http://www.percona.com/mysql/5.0.87-b20/patches/innodb_fsync_source.patch && patch -p1 < innodb_fsync_source.patch wget http://www.percona.com/mysql/5.0.87-b20/patches/innodb_show_hashed_memory.patch && patch -p1 < innodb_show_hashed_memory.patch wget http://www.percona.com/mysql/5.0.87-b20/patches/split_buf_pool_mutex_fixed_optimistic_safe.patch && patch -p1 < split_buf_pool_mutex_fixed_optimistic_safe.patch wget http://www.percona.com/mysql/5.0.87-b20/patches/innodb_rw_lock.patch && patch -p1 < innodb_rw_lock.patch
or using your high-perf dist.
Stripped down my initial configure: ./configure \ –prefix=/usr/local/mysql-${V} \ –with-charset=utf8 \ –with-big-tables \ –enable-assembler \ –without-debug \ –with-innodb \ –without-ndb-debug \ –enable-static
to: ./configure –prefix=/usr/local/mysql-${V} –with-charset=utf8
Aha! Caramba! When removing the –with-charset=utf8 it compiles !?
This works… ./configure –prefix=/usr/local/mysql-${V}
And this ./configure –prefix=/usr/local/mysql-${V} –with-big-tables –enable-assembler –without-debug –with-innodb –without-ndb-debug –enable-static
OK so it something with utf8 ?
From the head of the output, forces a re-run of configure !? clip-clip make cd . && /bin/bash /srv/home/mahe/dload/mysql-5.0.87/missing –run aclocal-1.10 cd . && /bin/bash /srv/home/mahe/dload/mysql-5.0.87/missing –run automake-1.10 –foreign cd . && /bin/bash /srv/home/mahe/dload/mysql-5.0.87/missing –run autoconf /bin/bash ./config.status –recheck running CONFIG_SHELL=/bin/bash /bin/bash ./configure –prefix=/usr/local/mysql-5.0.87 CFLAGS=-O3 -DDBUG_OFF CXXFLAGS=-O3 -DDBUG_OFF -fno-implicit-templates -fno-exceptions -fno-rtti –no-create –no-recursion
From the tail of the output clip-clip mv -f .deps/conf_to_src.Tpo .deps/conf_to_src.Po /bin/bash ../libtool –preserve-dup-deps –tag=CC –mode=link gcc -DDBUG_OFF -O3 -DDBUG_OFF -static -rdynamic -o conf_to_src conf_to_src.o xml.o ctype.o bcmp.o -lpthread -lcrypt -lnsl -lm -lpthread -lrt ../libtool: line 467: CDPATH: command not found ../libtool: line 1145: func_opt_split: command not found libtool: Version mismatch error. This is libtool 2.2.6, but the libtool: definition of this LT_INIT comes from an older release. libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6 libtool: and run autoconf again. make[2]: * [conf_to_src] Error 63 make[2]: Leaving directory `/root/dload/mysql-5.0.87/strings' make[1]: * [all-recursive] Error 1 make[1]: Leaving directory `/root/dload/mysql-5.0.87' clip-clip
Hope it makes sense
Cheers
Marcus Herou
Just tried to install via yum but the repository is missing (error 404). The path it uses is http://repo.percona.com/centos/5Server/os/x86_64/repodata/repomd.xml
Does the yum repository only work with CentOS and not RHEL5?
Thanks for creating this awesome set of patches.
Gil,
The reason is your system sets $releasever to 5Server while 5 or 4 are expected. Please change baseurl to baseurl=http://repo.percona.com/centos/5/os/$basearch/
Hello,
I'm facing the same problem described from Marcus Herou above, when I try to compile mysql-5.0.89 from source using userstatv2.patch and microslow_innodb.patch. Without Persona’s patches the MySQL compilation is OK. Any help will be appreciated.
Thank you
Iavor Stoev
<pre> gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -DDBUG_OFF -O3 -DDBUG_OFF -MT conf_to_src.o -MD -MP -MF .deps/conf_to_src.Tpo -c -o conf_to_src.o conf_to_src.c mv -f .deps/conf_to_src.Tpo .deps/conf_to_src.Po /bin/sh ../libtool –preserve-dup-deps –tag=CC –mode=link gcc -DDBUG_OFF -O3 -DDBUG_OFF -static -rdynamic -o conf_to_src conf_to_src.o xml.o ctype.o bcmp.o -lpthread -lcrypt -lnsl -lm -lpthread -lrt ../libtool: line 463: CDPATH: command not found ../libtool: line 1141: func_opt_split: command not found libtool: Version mismatch error. This is libtool 2.2.6, but the libtool: definition of this LT_INIT comes from an older release. libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6 libtool: and run autoconf again. make[2]: * [conf_to_src] Error 63 make[2]: Leaving directory `/build/mysql-5.0.89/strings' make[1]: * [all-recursive] Error 1 make[1]: Leaving directory `/build/mysql-5.0.89' make: *** [all] Error 2 </pre>
I forgot to mention that on the same machine mysql-5.0.82 can be compiled without failure with both Percona patches described above.
Has anyone found a work around for the errors Marcus Herou or Iavor Stoev listed above? I am getting the same error:
/bin/sh ../libtool –preserve-dup-deps –tag=CC –mode=link gcc -O3 -DDBUG_OFF -static -rdynamic -o conf_to_src conf_to_src.o xml.o ctype.o bcmp.o -lpthread -lcrypt -lnsl -lm -lpthread -lrt ../libtool: line 463: CDPATH: command not found ../libtool: line 1141: func_opt_split: command not found libtool: Version mismatch error. This is libtool 2.2.6, but the libtool: definition of this LT_INIT comes from an older release. libtool: You should recreate aclocal.m4 with macros from libtool 2.2.6 libtool: and run autoconf again. make[2]: *** [conf_to_src] Error 63
This seems to be a problem with the aclocal.m4 version but I don't know how to recreate it with libtool 2.2.6.
Thanks, -Carlos