Percona Installation Woes

2011 Nov 12 at 13:29 » Tagged as :centos, cloud, mysql, percona, aws, remi, webtatic,

It turns out that all the EC2 Amazon Machine Instances that have Percona installed by default have older versions of either Percona or PHP or both. My intention was to use Percona on a web app so it's required that the version of PHP is reasonably new.  So the logical thing to do is to install Percona on a bare bones AMI. For this I chose a CentOS image (ami-4dbc7d24) . The obvious first step is to add the Percona Repo  and then you can simply install Percona by typing the following command:

 yum install Percona-Server-client-55 Percona-Server-server-55

So far so good, but what use is a database on it's own? As I mentioned earlier, I need this to use with PHP.
yum install php-mysql
But that didn't turn out quite so well:
---> package php-mysql.x86_64 0: 5.1.6-27.el5:.3 set to be updated
--> Processing Dependency: php-common = 5.1.6-27.el5:.3 for package: php-mysql
--> Processing Dependency: php-pdo for package: php-mysql
--> Processing Dependency: libmysqlclient.so.15(libmysqlclient'5)(64bit) for package: php-mysql
--> Processing Dependency: libmysqlclient.so.15()(64bit) for package: php-mysql
--> Running transaction check
---> Package mysql.x86; 0:5.0.77-4.el5_.6 set to be updated
--> Processing Dependency: perl(DBI) for package: mysql
---> Package php-common.x86; 0:5.1.6-27.el5:.3 set to be updated
---> Package php-pdo.x86; 0:5.1.6-27.el5:.3 set to be updated
--> Running transaction check
---> Package perl-DBI.x86; 0:1.52-2.el5 set to be updated
--> Processing Conflict: mysql conflicts MySQL
--> Finished Dependency Resolution
mysql-5.0.77-4.el5_.6.x86; from base has depsolving problems
  --> mysql conflicts with Percona-Server-client-55
Error: mysql conflicts with Percona-Server-client-55
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.
  PHP is looking for it's dear old friend; the default mysqlclient and it's not at all happy with the percona client (which is supposed to be a drop in replacement).  Now it seemed like uninstalling the percona client and adding the mysql client back in might be the right thing to do.  But that leads to a different set of errors all  together.
Transaction Check Error:
file /etc/my.cnf from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/bin/my_print_defaults from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/info/mysql.info.gz from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/man/man1/my_print_defaults.1.gz from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/charsets/Index.xml from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/charsets/c250.xml from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/charsets/c251.xml from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/czech/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/danish/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/dutch/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/english/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/estonian/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/french/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/german/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/greek/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/hungarian/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/italian/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/japanese/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/korean/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/norwegian-ny/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/norwegian/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/polish/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/portuguese/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/romanian/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/russian/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/serbian/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/slovak/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/spanish/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/swedish/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;
file /usr/share/mysql/ukrainian/errmsg.sys from install of mysql-5.0.77-4.el5_.6.x86; conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86;Error Summary
  It could well be that the errors are caused by CentOS attempting to install a really ancient version of the mysqlclient (5.0.77 ) which is in keeping with the CentOS policy of using only tried and test (AKA ancient) software. Thankfully it's possible to install a not so old version of mysql on CentOS by using several third party repositories such as Remi or Webtatic. For this excercise we will use webtatic then the installation step becomes:
 yum install --enablerepo=webtatic mysql55
but that just gives another bunch of errors
Transaction Check Error:
  file /etc/my.cnf from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/charsets/c251.xml from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/czech/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/danish/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/dutch/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/english/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/estonian/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/french/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/german/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/greek/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/hungarian/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/italian/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/japanese/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/korean/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/norwegian-ny/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/norwegian/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/polish/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/portuguese/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/romanian/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/russian/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/serbian/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/slovak/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/spanish/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/swedish/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/mysql/ukrainian/errmsg.sys from install of mysql55-libs-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/bin/my_print_defaults from install of mysql55-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64
  file /usr/share/man/man1/my_print_defaults.1.gz from install of mysql55-5.5.10-1.w5.x86_64 conflicts with file from package Percona-Server-server-55-5.5.16-rel22.0.189.rhel5.x86_64

Error Summary
  At this point I decided to abandon this line of attack and go back to the Percona client but to add the 'compat libs' at the same time
sudo  yum install Percona-Server-shared-compat.x86_64
And that ladies and gentlemen worked!