MySQL 5.1 packages live, PHP & httpd also upgraded
September 13, 2010 by Jason · 100 Comments
If you haven't noticed yet, packages for MySQL 5.1 have been moved to the public repos. I whipped up updates for PHP 5.2.14 and httpd 2.2.16 as well. For those that have programs compiled against the mysql 5.0.x client libraries, a mysqlclient15 package has been added.
As I mentioned in an earlier post, there are some potential issues you might run into when upgrading from MySQL 4.1 or 5.0. It is absolutely critical that you run 'mysql_upgrade' after installing the update. Failure to do so will cause serious weirdness with your databases.
Hi,
when i try to upgrade apache 2.2.15 to apache 2.2.16 I get the following error:
Transaction Check Error:
file /usr/bin/ab from install of httpd-2.2.16-jason.1.x86_64 conflicts with file from package httpd-tools-2.2.15-2.x86_64
file /usr/bin/htdbm from install of httpd-2.2.16-jason.1.x86_64 conflicts with file from package httpd-tools-2.2.15-2.x86_64
file /usr/bin/htdigest from install of httpd-2.2.16-jason.1.x86_64 conflicts with file from package httpd-tools-2.2.15-2.x86_64
file /usr/bin/htpasswd from install of httpd-2.2.16-jason.1.x86_64 conflicts with file from package httpd-tools-2.2.15-2.x86_64
file /usr/bin/logresolve from install of httpd-2.2.16-jason.1.x86_64 conflicts with file from package httpd-tools-2.2.15-2.x86_64
is there an update coming for httpd-tools?
Hi,
thanks for your work!
Unfortunately, the update broke my mysql server. mysqld refused to start because of mysql 5.0 message files in in /usr/share/mysql/{english,etc}/errmsg.sys (from package mysql-libs 5.0.82sp1-1.el4_8 from the centosplus repo). Took me a while to sort that out. The mistake is probably from using the centosplus repo at all...
@tuurtnt,
I don't build a package called httpd-tools. Are you using some other 3rd party repo on your system (remi, epel, centosplus, etc.)? If so, that is the likely source of the problem. I can really only test compatibility against the stock packages.
If you want to use my repo then you'll need to disable the other 3rd party repos on your system and remove any conflicting packages. In this case, I doubt that there is anything in that 'https-tools' package that isn't also in the build I distribute, it's just packaged differently, so it shouldn't matter.
@Jakob,
Are you saying that the update left the old mysql-libs-5.0.82 package behind? That shouldn't have happened as there is a conflict, as you found, between them.
@Jason:
Yes, the package was left there. I only found out when I ran "rpm -qf /usr/share/mysql/english/errmsg.sys" (the file mysqld complained about). I was wondering how that could be, as the installation of mysql should have not be possible because of this... anyway, it's solved now. (uninstalled mysql and mysql-libs with --nodeps und reinstalled mysql with yum)
Hello ...
First of ... great stuff! 🙂
I just got the update notice from yum ... and this time when I try to update (I"m really only using the PHP you are providing via IncludePkgs=php*) I'm getting stuck on a dependency:
php-mysql-5.2.14-jason.1.i386 from utterramblings has depsolving problems
--> Missing Dependency: libmysqlclient.so.16(libmysqlclient_16) is needed by package php-mysql-5.2.14-jason.1.i386 (utterramblings)
php-mysql-5.2.14-jason.1.i386 from utterramblings has depsolving problems
--> Missing Dependency: libmysqlclient.so.16 is needed by package php-mysql-5.2.14-jason.1.i386 (utterramblings)
Error: Missing Dependency: libmysqlclient.so.16(libmysqlclient_16) is needed by package php-mysql-5.2.14-jason.1.i386 (utterramblings)
Error: Missing Dependency: libmysqlclient.so.16 is needed by package php-mysql-5.2.14-jason.1.i386 (utterramblings)
I updated by IncludePkgs to be: "includepkgs=php* mysqlclient*"
But I still get it ... it appears your repo has v.15?
Suggestions?
@Scott,
My repo is designed as all-or-none (httpd, php, mysql). You can't just include PHP and have it work. The mysqlclient16 dep is filled by mysql, mysql-server, etc. which are currently 5.1.
Hi Jason! I like your repo very much as it keeps my servers up to date without causing much headache.
However after the update my MySQL-server was unable to restart.
To resolve the issue, I commented out the two "skip-bdb" entries which were in my.cnf.
@Andi,
BDB is not part of MySQL 5.1 so that option no longer works. That is why I posted a link to the MySQL 5.0 to 5.1 upgrade guide.
Hi
If I am setting up a new Centos 5.3 64bit server, I can directly use your latest repo for mysql and php without needing the 5.0.X mysql first right?
And did you mention you have a file that updates the lib files for mysql 5.1.X to work with PHP 5.2.14, which previously cause phpmyadmin to display an error warning?
Thanks
can you rebuild the pcre with utf8 again. thanks
@Sam,
Yes, you can directly install my packages if you've done a minimal install of CentOS 5.x. I have no idea what you're talking about on phpmyadmin though as I don't use it. What is the message? Have you verified that it occurs when using my packages?
@zhou,
The pcre-8.02 packages in my repo are compiled with --enable-utf8, not sure what else would be required.
The error message in phpmyadmin is caused by an upgrade of mysql to 5.1 from 5.0.9 in the server but the lib version provided by Centos did not get updated.
So I am guessing, since your repo has updated mysqlclient16, it should be able to update the lib in the server to support mysql 5.1, would you be able to confirm this pls?
Thanks
@Sam,
You cannot use just some of my packages. If you do, odd things will happen. My repo was designed for people who want to upgrade httpd, php, and mysql. If you are trying to just use mysql then you'll likely have problems. If you are using everything it should be fine.
Was looking forward to this update. These threads are usually filled with lots of praise from successful updates. Not a single one listed yet, I'll hold off for a bit until we see some success stories.
OK! I'll try with the whole package. Thanks Jason!
@Jeff,
Your choice. As an FYI, I just checked the server logs and since the updates were posted on the 13th (about 72 hours ago), 2319 unique IPs have downloaded the updated packages for EL5. That doesn't include EL4 users and counts the people who run internal servers that are NATed as a single hit, so the actual number of upgraded servers is likely to be far higher.
This batch of updates included the move from mysql 5.0 to 5.1. Given the number of breaking changes, this is likely to be a complaint-ridden post, there's no way around it. That's why I posted the migration guide a month ago, so that the people that actually read the posts would know what was coming and would be able to prepare for it. My suggestion would be to read the guide and see if any of it applies to you.
That went easy enough 🙂
Completed on an updated CentOS 5.4 install with previous UR updates.
Only thing I noticed is that php was still using 5.2.13 after the yum update was complete. I had to stop/start httpd for it to switch to 5.2.14. I guess the httpd update was completed and restarted prior to the php update.
All appears to be working correctly.
One thing I notice in phpmyadmin is the following, and I did notice the 5.0.91 in the yum update...
Your PHP MySQL library version 5.1.50 differs from your MySQL server version 5.0.91. This may cause unpredictable behavior.
@Jeff,
You're running the wrong version of MySQL; there are 5.1.50 packages in my repo. If you have them installed and your running version still shows as 5.0.91 then try restarting MySQL.
I restarted both mysqld and httpd, and the error cleared, thanks
Why you don't upgrade to PHP 5.3 ?
@Tweak,
Read my last few posts. They explain it.
Hey man, got an error when upgrading to your latest packages:
Transaction Check Error:
file /usr/lib/mysql/libmysqlclient.so.16.0.0 from install of mysql-5.1.50-jason.1.i386 conflicts with file from package mysql-libs-5.1.46-1.el5.remi.i386
file /usr/lib/mysql/libmysqlclient_r.so.16.0.0 from install of mysql-5.1.50-jason.1.i386 conflicts with file from package mysql-libs-5.1.46-1.el5.remi.i386
Here are packages currently installed:
[[email protected] ~]# rpm -qa | grep -i remi
php-cli-5.3.2-1.el5.remi
php-mysql-5.3.2-1.el5.remi
php-process-5.3.2-1.el5.remi
mysql-5.1.46-1.el5.remi
sqlite2-2.8.17-2.el5.remi
php-common-5.3.2-1.el5.remi
php-pdo-5.3.2-1.el5.remi
php-gd-5.3.2-1.el5.remi
php-mbstring-5.3.2-1.el5.remi
php-intl-5.3.2-1.el5.remi
php-xml-5.3.2-1.el5.remi
remi-release-5-8.el5.remi
mysql-libs-5.1.46-1.el5.remi
mysql-server-5.1.46-1.el5.remi
mysqlclient15-5.0.67-1.el5.remi
php-pecl-apc-3.1.3p1-1.el5.remi
php-5.3.2-1.el5.remi
php-recode-5.3.2-1.el5.remi
php-bcmath-5.3.2-1.el5.remi
php-devel-5.3.2-1.el5.remi
mysql-devel-5.1.46-1.el5.remi
Why do you name them *jason now instead of *remi? 😉
Thanks for any help you can provide!
@damir,
I'm not Remi. Remi is Remi. I'm Jason.
Anyway, he and I provide some of the same packages. You'll need to choose one repo and stick to it as they'll conflict when put together.
How can I enable PEAR support in your PHP builds?
In regards to my question above, how to enable PEAR in php. Will running #yum install php-pear* do the trick? I already have php-pear-1.9.1-1.jason.1.noarch installed as below, but this is what the rest of the output shows. What is the best way to get PEAR up and running?
Package 1:php-pear-1.9.1-1.jason.1.noarch already installed and latest version
Resolving Dependencies
--> Running transaction check
---> Package php-pear-Auth-SASL.noarch 0:1.0.2-4.el5.centos set to be updated
---> Package php-pear-DB.noarch 0:1.7.13-1.el5.centos set to be updated
---> Package php-pear-Date.noarch 0:1.4.7-2.el5.centos set to be updated
---> Package php-pear-File.noarch 0:1.2.2-1.el5.centos set to be updated
---> Package php-pear-HTTP-Request.noarch 0:1.4.2-1.el5.centos set to be updated
---> Package php-pear-Log.noarch 0:1.9.13-1.el5.centos set to be updated
---> Package php-pear-MDB2.noarch 0:2.4.1-2.el5.centos set to be updated
---> Package php-pear-MDB2-Driver-mysql.noarch 0:1.4.1-3.el5.centos set to be updated
---> Package php-pear-Mail.noarch 0:1.1.14-1.el5.centos set to be updated
---> Package php-pear-Mail-Mime.noarch 0:1.4.0-1.el5.centos set to be updated
---> Package php-pear-Net-SMTP.noarch 0:1.2.10-1.el5.centos set to be updated
---> Package php-pear-Net-Sieve.noarch 0:1.1.5-2.el5.centos set to be updated
---> Package php-pear-Net-Socket.noarch 0:1.0.8-1.el5.centos set to be updated
---> Package php-pear-Net-URL.noarch 0:1.0.15-1.el5.centos set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
@Jeff,
PEAR is installed if you have php-pear installed. All the extensions can be added by running "pear install".
Jason, this is what I get
# pear install
Nothing to install
php_nfo configure command shows '--without-pear'
include_path .:/usr/share/pear:/usr/share/php
But there is no PEAR block listed in the php_nfo file.
I added a php file to the server to test...
the output was...
bool(true)
Does that mean pear is installed and working properly?
the post stripped out the code of the test file, this was it
OK, it is item #4 here on this page
http://pear.php.net/manual/en/installation.checking.php
MySQL 5.1.51 Is out.
Hi Jason,
Thanks <3 your work man, upgrades worked a treat as well as the post earlier regarding the upgrade procedure.
Thanks a bunch ^_^
The upgrade went perfectly on three servers, two physical one virtual. Thanks! And thanks for the reminder about running mysql_upgrade.
We're running an x86_64 CentOS box which we have upgraded to the newest Apache, PHP, and MySQL versions via your repo. One thing that we have noticed is that the x86_64 version of mysqlclient15 is still at 5.0.x rather than 5.1.x. This is causing the PHPMyAdmin error as discussed previously.
Has the newest version been pushed to the 64bit repo?
Thanks
@Jacob,
That's the point. The mysqlclient15 package is the libraries for MySQL 5.0.91. It is included for legacy apps that were compiled against MySQL 5.0.x. You need to be using the 'mysql' package.
@Jason
We do have the mysql package installed. Below is a list of relevant packages:
mysql.x86_64 5.1.50-jason.1 installed
mysql-server.x86_64 5.1.50-jason.1 installed
mysqlclient15.x86_64 5.0.91-1.jason.1 installed
php-mysql.x86_64 5.2.14-jason.1 installed
Why would PHPMyAdmin be reporting a different version of the PHP library?
@Jacob,
Try restarting httpd & mysql.
We've rebooted the entire server as well as those separately
@Jacob,
Please use the contact form on the About page of the site to send me the exact message and a link to a phpinfo() page on your server. I'll take a look.
Need public key for libmcrypt
#yum install php-mcrypt
Loaded plugins: rhnplugin, security
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package php-mcrypt.x86_64 0:5.2.14-jason.1 set to be updated
--> Processing Dependency: libmcrypt.so.4()(64bit) for package: php-mcrypt
--> Running transaction check
---> Package libmcrypt.x86_64 0:2.5.8-4.el5.centos set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
php-mcrypt x86_64 5.2.14-jason.1 utterramblings 50 k
Installing for dependencies:
libmcrypt x86_64 2.5.8-4.el5.centos utterramblings 105 k
Transaction Summary
================================================================================
Install 2 Package(s)
Upgrade 0 Package(s)
Total size: 154 k
Is this ok [y/N]: y
Downloading Packages:
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID e8562897
utterramblings/gpgkey | 1.3 kB 00:00
Public key for libmcrypt-2.5.8-4.el5.centos.x86_64.rpm is not installed
@Carlos,
RHEL system, right? if so, run "rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5" and then it should work.
My server administrator has performed this upgrade.
We were upgrading from your June set of upgrades to this one.
The only 2 problems he reported were:
1. Mysql would not start.... and he had to download a newer version of errmsg.sys to get it to work ok?
2. He reports that no auth modules are included in these packages? So we are not able to password protect directories for instance? He's curious why such modules are not included? Suggestions to remedy?
@Marty,
1. That is something that a small number of people have reported but have not actually been able to provide enough info on their update history for me to track down. I'm fairly certain it results from using multiple 3rd party repos (centosplus, epel, remi, etc.), not necessarily at the same time, as the issue does not occur when installing my packages on a clean system or when upgrading from the stock packages.
2. Not sure what he means, I just checked the modules folder on one of my boxes and found (15) mod_auth* files.
[[email protected] /]# ls /usr/lib/httpd/modules/mod_auth*
/usr/lib/httpd/modules/mod_auth_basic.so
/usr/lib/httpd/modules/mod_auth_digest.so
/usr/lib/httpd/modules/mod_authn_alias.so
/usr/lib/httpd/modules/mod_authn_anon.so
/usr/lib/httpd/modules/mod_authn_dbd.so
/usr/lib/httpd/modules/mod_authn_dbm.so
/usr/lib/httpd/modules/mod_authn_default.so
/usr/lib/httpd/modules/mod_authn_file.so
/usr/lib/httpd/modules/mod_authnz_ldap.so
/usr/lib/httpd/modules/mod_authz_dbm.so
/usr/lib/httpd/modules/mod_authz_default.so
/usr/lib/httpd/modules/mod_authz_groupfile.so
/usr/lib/httpd/modules/mod_authz_host.so
/usr/lib/httpd/modules/mod_authz_owner.so
/usr/lib/httpd/modules/mod_authz_user.so
When i tried to use you direction for upgrading php 5.1 to php 5.2 on Centos I got this message
warning: rpmts_HdrFromFdno: Header V3 DSA signature: NOKEY, key ID 6b8d79e6
Public key for perl-DBD-mysql-4.014-1.el5.rf.i386.rpm is not installed
How do i enable xmlreader, xmlwriter? I've installed php-xml package but the output of phpinfo() show that:
-disable-xmlreader --disable-xmlwriter
Any helps?
@richm,
Have you installed my key as instructed on the Yum Repositories page? If you're using RHEL 5, have you also installed the CentOS key using "rpm --import http://mirror.centos.org/centos/RPM-GPG-KEY-CentOS-5"?
@zibra,
As with all RPM-based distros, you can't go by what is listed in the configure statement. Check your phpinfo() for xmlreader and xmlwriter entries. If you have the php-xml package installed they should be there.
Hi.
MySQL 5.1.51 is out with security patches - please update mysql in your repo.
Thanks Jason,
Now, I have problem with dom extention. I have following warning in php log:
"Warning: DOMDocument::loadXML() [function.DOMDocument-loadXML]: Empty string supplied as input". Some site said that there is a bug in php 5.2 and you must set pcre.backtrack_limit value to 1000000. But it didn't effect to me.
Please help me,
Hi, thanks for the upgrade!
I just wanted to let you know, that your pop-up that solicites/begs visitors to click on ads is against Google AdSense policies. And I will report this to Google.
You complain that you need/deserve more money, but did you ever think about the many small business that have to spends thousands of dollars to keep up with Google Adwords. You basically encourage other users to waste my money! Some clicks cost $10 (you might only see 10 to 50 cents ...)
I sincerely believe if everybody would do the same, it would be very bad for many small business ...
Please be fair and stay honest!
Thanks!