0

I'm trying to install a php extension.

--> Running transaction check
---> Package mysql.x86_64 0:5.5.18-1.el5.art set to be updated
---> Package mysql-devel.x86_64 0:5.5.18-1.el5.art set to be updated
---> Package mysql-server.x86_64 0:5.5.18-1.el5.art set to be updated
--> Processing Conflict: mysql50 conflicts MySQL
--> Restarting Dependency Resolution with new changes.
--> Running transaction check
---> Package mysql50.x86_64 0:5.0.92-1.ius.el5 set to be updated
--> Processing Conflict: mysql50 conflicts MySQL
--> Finished Dependency Resolution
mysql50-5.0.92-1.ius.el5.x86_64 from ius has depsolving problems
  --> mysql50 conflicts with mysql
Error: mysql50 conflicts with mysql
 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

How to proceed?

Poe
  • 321
  • 1
  • 5
  • 18

2 Answers2

2

It looks like you are using an older version of MySQL, and a 3rd party yum repository has a newer version. It also looks like your php module might come from that 3rd party repo and depends on the newer version of MySQL.

You have a few options.

  1. Upgrade MySQL by uninstalling the mysql50 package and installing the mysql package. You should backup your databases first if this is the database server.

  2. Find a different repo for your php module that does not have mysql packages in it.

  3. Remove this 3rd party repo. Download the php module from the repo and install it with the rpm command or put it into your own local yum repo.

  4. Compile this php module from source against the included version of mysql.

Jeff Strunk
  • 2,127
  • 1
  • 24
  • 29
  • Yes, I started using the remi repo awhile back. I'd like to update the MySQL (Option #1). If I `yum remove` the conflicting mysql packages will it remove the data dir contents? – Poe Dec 21 '11 at 17:13
  • 1
    It shouldn't remove the data dir contents, but I strongly recommend a backup(dump) in case the newer version has any change in data format that the postinstall scripts can't migrate from. Is this on your database server? – Jeff Strunk Dec 21 '11 at 17:49
  • 1
    You should definitely read the release notes for MySQL from the current version to the new version. It will include any necessary notes for upgrade. +1 to @JeffStrunk's suggestion to do a dump first in case this goes sour. – Aaron Copley Dec 21 '11 at 17:53
  • I'm backing up now, then I'll remove and upgrade. – Poe Dec 21 '11 at 18:01
1

There are a couple of ways to use the IUS repos.

One is to remove RHEL packages.

http://iuscommunity.org/Docs/GettingStarted

IUS Packages replace stock RHEL packages, however they do not obsolete them. Meaning, you can’t just ‘yum upgrade’ and get our packages… you need to first remove the stock RHEL package such as mysql, and replace it with the IUS package such as mysql51. See the Client Usage Guide for full examples of installing software from IUS.

The other is to use the Replace addon package

http://iuscommunity.org/Doc/ClientUsageGuide

Conflict Replace Packages: Almost all IUS packages will be conflicting. This means, the packages that they replace must first be uninstalled before the IUS version is installed. For example: mysql50 and mysql51 both conflict with mysql. They provide 'mysql' but they do not obsolete mysql, therefore simply subscribing to the IUS Yum Repositories will not upgrade anything automatically. If you attempt to install mysql5X packages from IUS you will get Yum errors. That said, once you remove the original packages (mysql, mysql-server, mysql-devel, etc) and install the IUS counterparts everything will function the same.

I recommend the second option and be sure to backup all data prior to the changes.

jeffatrackaid
  • 4,142
  • 19
  • 22
  • I'd like to use the Remi repo, but at some point in the past I must've been using ius. – Poe Dec 21 '11 at 17:27