Various new features in this  5.1 version seems really interesting (to me):

This build use a spec file close to the one from Fedora 11 updated to enable the "storage engines":

  • Federated : access data from a remote MySQL database (the engine is activated by default)
  • Archive : used for storing large amounts of data without indexes in a very small footprint
  • CSV : stores data in text files
  • Blackhole : accepts data but throws it away and does not store it (useful with replication)

WARNING: before upgrading, a full backup of your databases seems mandatory (a logical dump using mysqldump for example).

Simplest way to install is to use  yum !

yum --enablerepo remi update mysql-server

For whose who prefer the download and manual installation, see the repository

Like after each upgrade, running the mysql_upgrade command is required. It checks all tables in all databases for incompatibilities with the current version of MySQL Server. If a table is found to have a possible incompatibility, it is checked. If any problems are found, the table is repaired. In all case, reading the documentation is recommended:

For example :

mysql_upgrade --password=<yoursecret>

WARNING: if you upgrade from version 5.0, and if any of your database/table names contains special characters (notably dash '-'), after upgrading, it will have a strange name (p.e. : #mysql50#table-name), to fix this, you must run the mysqlcheck command with the right options (fix-db-names and fix-table-names). The file/directory name could then be different than the table/database name (p.e. base-name => base@002name). This new feature allow you to use all characters in the names of your objects.

mysqlcheck --check-upgrade --fix-db-names --fix-table-names --all-databases --password=<votresecret>

WARNING: the version 5.1 libraries are not compatible with libraries of version 5.0, it now provides libmysqlclient.so.16. To continue using applications build with old version, you need to install mysqlclient15 (which provides libmysqlclient.so.15).

If you use mysql-embeded (for amarok, p.e.), you must keep the 5.0.67 package (with --exclude mysql-embeded)

You should note than the EL5 build is used on the server hosting this blog and some other sites.