Categories
MySQL

MySQL 5.5 is finally here!

Some months after MySQL 5.5 being released as GA, I’m proud to announce that MySQL 5.5.17 is now available on Dotdeb, for Debian 6.0 “Squeeze”, for both amd64 and i386 architectures.

Focusing on compatibility with previous and future official Debian packages of MySQL, Dotdeb’s ones are based on the great work provided by the official Debian maintainers. Many thanks to them! I really hope that MySQL 5.5 will be part of Debian Sid soon.

Here are the main changes and benefits from MySQL 5.5, from the user point of view :

First of all, please read carefully the full list of changes in MySQL 5.5 and the migration guide to MySQL 5.5 before any further move.

I also strongly advise you to test these new packages by upgrading your development servers first, then to backup your whole databases before considering your production servers. Dotdeb is not responsible for any damage or loss of data.

Here are some more important considerations :

  • Both MySQL 5.5 and MySQL 5.1 are available on the main Dotdeb repository, respectively named mysql-server-5.5 and mysql-server-5.1… mysql-server is just a meta-package depending on the most recent version (5.5).
  • Even if you stick to mysql-server-5.1, the mysql-common package will be upgraded to version 5.5.17. It’s no big deal, just comment the lc-messages-dir setting in /etc/mysql/my.cnf or your MySQL 5.1 server will fail to start.
  • Providing a fork of Oracle’s MySQL Server, such as Percona Server or MariaDB, is something I’d like to do, but it requires a lot of work.
  • If you’re using the Pinba storage engine, you should still stick to MySQL 5.1. The switch to MySQL 5.5 will be possible later.
  • There’s no plan to release these packages neither for Debian 5.0 “Lenny” nor for Ubuntu. Sorry.

I really hope you’ll enjoy this major MySQL release.

82 replies on “MySQL 5.5 is finally here!”

FWIW, it would upgrade mysql-common from 5.1 to 5.5, but keep back mysql-server:

mysql-common [5.1.58-1~dotdeb.1 -> 5.5.17-1~dotdeb.1]

Maybe you could prevent this using dependencies?

Hello, i tried to upgrade 5.1 dotdeb to 5.5 dotdeb in aptitude, but it could not fix dependencies 5.5 can not overwrite 5.1?

Deinstall 5.1 delete all of my other packets.
What can i do?

“The mysql-common package will be upgraded to version 5.5.17. It’s no big deal, it only contains retro-compatible configuration files.”

Wrong. The my.cnf delivered by mysql-common-5.5 contains the lc-messages-dir setting, which MySQL Server 5.1 cannot understand and will fail to start.

To everyone who upgraded mysql-common to 5.5, but left mysql-server unchanged: Comment out the lc-messages-dir setting in my.cnf OR YOUR MYSQL SERVER WILL FAIL TO START.

Best regards,
Tobias

@Guillaume,

sorry for my short description. I have a squeeze 6.0.3 with the latest mysql 5.1.x server from dotdeb. Now i like to update to 5.5.x an aptitude tells me that its not possible to install both mysql Servers 5.1 and 5.5. OK.
If i deinstall 5.1, all my other software lost the dependencies (postfix, dovecot, php, aso..)
Is ist possible to make a regular upgrade? Like all other updates before?
Christian

Sorry on my system mysql 5.1 and 5.5 are diverent software. It´s not possible to update direct.
I have both Versions in the Aptitude list.

see:
root@wwl7:~# apt-get upgrade mysql-server-5.5
Paketlisten werden gelesen… Fertig
Abhängigkeitsbaum wird aufgebaut
Statusinformationen werden eingelesen… Fertig
0 aktualisiert, 0 neu installiert, 0 zu entfernen und 0 nicht aktualisiert.
root@wwl7:~#

Got this error while i tried to update today :

invoke-rc.d: initscript mysql, action “start” failed.
dpkg : erreur de traitement de mysql-server-5.5 (–configure) :
le sous-processus script post-installation installé a retourné une erreur de sortie d’état 1
configured to not write apport reports
dpkg : des problèmes de dépendances empêchent la configuration de mysql-server :
mysql-server dépend de mysql-server-5.5 ; cependant :
Le paquet mysql-server-5.5 n’est pas encore configuré.
dpkg : erreur de traitement de mysql-server (–configure) :
problèmes de dépendances – laissé non configuré
configured to not write apport reports
Des erreurs ont été rencontrées pendant l’exécution :
mysql-server-5.5
mysql-server

Any idea on what i did wrong ? 🙂

@Unity : take a look at /var/log/syslog or /var/log/mysql.err to see what is the problem (a obsolete setting or something in my.cnf), fix it, and the installation should end without any problem.

Guys, I need help… After upgrade

Upgrade: mysql-common:amd64 (5.1.58-1~dotdeb.1, 5.5.17-1~dotdeb.1)

I cannot start mysql server anymore with the following error :

mysqld[5937]: 111102 10:02:25 [ERROR] /usr/sbin/mysqld: unknown variable ‘lc-messages-dir=/usr/share/mysql’
mysqld[5937]:
mysqld_safe[5939]: ended

/etc/init.d/mysql[6075]: 0 processes alive and ‘/usr/bin/mysqladmin –defaults-file=/etc/mysql/debian.cnf ping’ resulted in
/etc/init.d/mysql[6075]: #007/usr/bin/mysqladmin: connect to server at ‘localhost’ failed
/etc/init.d/mysql[6075]: error: ‘Can’t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock’ (2)’
/etc/init.d/mysql[6075]: Check that mysqld is running and that the socket: ‘/var/run/mysqld/mysqld.sock’ exists!

Please HELP!

Thank you in advanced

you can upgrade with “apt-get install mysql-server-5.5” if upgrade or dist-upgrade does not work.

my mysql upgrade did not work as smooth as I hoped:

1. InnoDB is default storage engine:
I have “skip-innodb” in my my.cnf to save some memory on my small server (128mb RAM). I put this line in /etc/mysql/my.cnf set MyISAM as default engine

# in [mysqld]
default-storage-engine=MyISAM

2. mysql complained about missing “proxies_priv.frm” etc.

I recreated system tables with:
# su – mysql -c “mysqld_safe –init-file=/usr/share/mysql/mysql_system_tables.sql –verbose”

I also run a same command with a modified /usr/share/mysql/mysql_system_tables_data.sql to fill proxies_priv with data.

and I had to manually run mysql_upgrade, first time without –force, second time with –force.

# su – mysql -c “mysql_upgrade -uroot -p –force”

An excellent work! thanks Guillaume!
I installed on DebianAMD64squeeze over 5.1 server with

#apt-get install mysql-server-5.5

but before I removed plugin related lines in my.cnf

Hey,

I upgraded to mysql 5.5 (via apt-get update -> upgrade -> dist-upgrade) and told Mysql to keep the currentl my.cnf. It does not start now (mysqld not running, /etc/init.d/mysql status does not return anything and no errors logged). The current my.cnf does not contain a ‘lc-messages-dir’ setting. What could be the reason?

OS is Debian 6.

@Karl : take a look at /var/log/syslog or /var/log/mysql* . MySQL should report what fails during its startup. Maybe a incompatible setting, or pointing to a missing file (load-plugin=… and so on).

Syslog reports a ordinary, fail-free report. It shutdown safety and clean but it won’t start without any reason.

Sorry for doublepost: same with /var/log/mysql/* (no files) and /var/log/mysql.* (err, log, etc)

@Karl : as reported by “m” :

I had to manually run mysql_upgrade, first time without –force, second time with –force.

# su – mysql -c “mysql_upgrade -uroot -p –force”

Could you please try this?

As said before, the only way I had it working was to -Install- mysql-server-5.5 . dist-upgrade or so leaved my server without a server ..?

===> sudo apt-get install mysql-server-5.5

Hi,

Upgraded to 5.5. Thank-you.

By the way, why is this still there:
ii libmysqlclient16 5.1.58-1~dotdeb.1

When the update also installed:
libmysqlclient18 5.5.17-1~dotdeb.1

I see that there are plenty of dependencies on it in my system, which is unfortunate. I suspect that these packages would have to be upgraded to be dependent on the newer version:-

dovecot-common (1.2.15-7)
dovecot-imapd (1.2.15-7)
fuzzyocr (3.6.0-3)
libdbd-mysql-perl (4.016-1)
libmysqlclient16 (5.1.58-1~dotdeb.1)
libqt4-sql-mysql (4.6.3-4+squeeze1)
mysql-client (5.5.17-1~dotdeb.1)
mysql-client-5.5 (5.5.17-1~dotdeb.1)
mysql-server (5.5.17-1~dotdeb.1)
mysql-server-5.5 (5.5.17-1~dotdeb.1)
mytop (1.6-6)
postfix-mysql (2.7.1-1+squeeze1)
python-mysqldb (1.2.2-10+b1)

@Simon : this is a transitional state. We’ll have to wait some months (years?) before libmysqlclient16 disappears from the stable Debian distribution. And it’s a good thing after all.

It’s no problem to have both libmysqlclient16 and libmysqlclient18 on the same system. The same happened with libmysqlclient14, libmysqlclient15 and so on…

Hi Guillaume, What you wrote makes sense that this is transitional. Maybe we’ll await the next stable Debian release for this. Cheers for the clarification.
S

Since this update, the /etc/init.d/mysql script doesn’t do anything anymore. I have no way to stop or start MySQL anymore !
I have just done a dist-upgrade on my test server and commented out the lc–messages-dir as advised.
Any idea what happened ?

@rdoursenaud : it may be possible to stop MySQL by launching “mysqladmin shutdown”. If you encounter issues starting it, take a look at /var/log/syslog, /var/log/mysql* and /var/log/mysql/* carefully. An incompatible setting, or pointing to a missing file (load-plugin=… and so on) could prevent MySQL from starting. The log files are usually verbose enough to give the fix. Any feedback appreciated.

Hi.

I just try to install mysql and I get this :

apt-get upgrade mysql-server-5.5

apt-get -o Debug::pkgProblemResolver=true install mysql-server
Reading package lists… Done
Building dependency tree
Reading state information… Done
Starting
Starting 2
Investigating (0) mysql-server-5.5 [ amd64 ] 5.5.17-1~dotdeb.1 > ( misc )
Broken mysql-server-5.5:amd64 Depends on libdbi-perl [ amd64 ] ( none )
Investigating (0) mysql-client-5.5 [ amd64 ] 5.5.17-1~dotdeb.1 > ( misc )
Broken mysql-client-5.5:amd64 Depends on libdbi-perl [ amd64 ] ( none )
Investigating (1) mysql-server [ amd64 ] 5.5.17-1~dotdeb.1 > ( database )
Broken mysql-server:amd64 Depends on mysql-server-5.5 [ amd64 ] 5.5.17-1~dotdeb.1 > ( misc )
Considering mysql-server-5.5:amd64 1 as a solution to mysql-server:amd64 9999
Reinst Failed early because of libdbi-perl:amd64
Reinst Failed because of mysql-client-5.5:amd64
Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
mysql-server : Depends: mysql-server-5.5 but it is not going to be installed
E: Broken packages

I have debian 6 fresh install and I did a apt-get update before and now I’m getting Broken packages in pretty much every single package that I try to install.

any ideas?

Thanks.

@Guillaume

this is what I get :

apt-get install libdbi-perl mysql-server mysql-server-5.5
Reading package lists… Done
Building dependency tree
Reading state information… Done
Package libdbi-perl is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package ‘libdbi-perl’ has no installation candidate

i got this in phpmyadmin after upgrade mysql-server-5.5 :

“Your PHP MySQL library version 5.1.58 differs from your MySQL server version 5.5.17. This may cause unpredictable behavior.”

Any idea ?

@Jhonny : as said many times on this blog, don’t worry about that delta between the client side and the server side, it does not affect the PHP behaviour.

The version of the MySQL client library PHP was built with is different to avoid some duplicate symbols and segfaults.

Hi Guillaume, tnx for the update.

I run:

apt-get update
apt-get upgrade
apt-get install mysql-server-5.5

Everything seems ok (no errors in any app that uses mysql) but I still have libmysqlclient16 installed and not libmysqlclient18.

Is it a problem ?

(btw I’m on a Debian / Linode)

tnx

@skp : no problem with that, libmysqlclient18 is needed by mysql-server-5.5, while libmysqlclient16 is needed by the official mysql-linked Debian packages. As said in the comments here, that’s a transitional state.

@Guillaume Plessis :
You said not problem at all, tested with recompile php5 this error occurred :

“mysql_connect(): Headers and client library minor version mismatch. Headers:50517 Library:50158”

any idea of this problem ?

@Guillaume

you say “libmysqlclient18 is needed by mysql-server-5.5” but I have mysql-server-5.5 and no libmysqlclient18. Is it ok ?

@skp : you’re right : neither mysql-server-5.5 nor mysql-client-5.5 needs libmysqlclient18 anymore (it was the case in the previous versions of mysql). So it’s ok not having libmysqlclient18 installed.

@Jhonny : which software are you using on the client side? Dotdeb’s PHP 5.3 is linked against mysqlnd (instead of libmysqlclient). That should prevent such warnings (they’re just warnings, aren’t they?). With other pieces of software, rebuilding against the latest libmysqlclient-dev library should fix this issue.

@Guillaume :

there’s no talking about software client side, but when i tried recompile with php 5.3.8 from official site the issue comes.

as you said, rebuilding with latest libmtsqlclient-dev library will fix this issue, how to do that? since, i just recompile php 5.3.8.

@Jhonny : the warning is displayed on the MySQL client side, so there’s a talk about the client side (PHP in this case).

Is your issue happening with Dotdeb’s PHP 5.3 packages? If not, you should compile your “PHP 5.3.8 from official site” with the following options :

–with-mysql=mysqlnd \
–with-mysql-sock=/var/run/mysqld/mysqld.sock \
–with-mysqli=mysqlnd \
–enable-pdo \
–with-pdo-mysql=mysqlnd

@Guillaume Plessis:
My mysql_upgrade is not working. I tried to start it normally and then do it with force parameter but it shows the same fatal errors.

Thx for the upgrade. Worked well here, all mysql log files are empty. Nothing. everything works.

The big question is should you have waited until sid had 5.5, now those that upgrade are more or less stuck with dotdeb until ubuntu starts using 5.5.xx. Not sure how a downgrade would go…

Not that this is the end of the world.

Problems. The upgrade went fine, but then i tried a new install. Please note that i have done this exact same command 100 times or more. BEFORE the mysql 5.5 update and newer had any problems.

But now when i run this
apt-get install apache2 curl mcrypt mysql-common mysql-client mysql-server libapache2-mod-auth-mysql phpmyadmin php5 libapache2-mod-php5 php5-common php5-cli php5-cgi php5-curl php5-gd php5-mcrypt php5-mysql php-pear unzip

i get asked for the mysql password a few times, this is normal. But the last time i get asked in the command line, it shows an error while setting up phpmyadmin.

Try this and again remembe i did this almost everyday before mysql 5.5 came up without any problems)

1: Install squeeze
2: update sources.list to include dotdeb.
3: apt-get update && apt-get dist-upgrade
4: Run the command i listed above and do what it tells you.

In step 4 you will see the problem. Did you test both a fresh intall and a upgrade before you put this out ? it doesnt seem like it.

I keep wondering why people are still sticking with mysql and the bizarr problems with multiple versions and forks, not to talk about innodb logfile stupidness and other administrative horrors you earn from using this “database” – of course, if you get money for spending your time with this troublemaker, you have a good reason, but if you want a database that just works and does not bring you tons of meta-problems, why just don´t you go with postgresql? Really, it is much easier with administration, has a complete feature set needed for any modern website (e.g. postgis) and does not come with x different versions and forks, which will make your admin life even more conmplicated.
From my pov mysql died in the moment the big company took it over – still many admins did not understand that it is time to change over to postgresql – but you will not be sorry about this decision! Let mysql die, use PGSQL for your standard work and for any nosql stuff you have plenty of other choices – there is really no sense in mysql nowadays. Let it die!

Just a quick mention that all of the double quotes in your comments are the fancy double quotes and will not work on a command line. Please consider installing a plugin that reverts these back to regular double quotes. A quick google shows that as a example of the issue.

For me, mysql 5.5 installs fine but does not start. My /var/log/messages shows this as the first error going through:

Nov 11 16:11:33 vps mysqld_safe[9645]: ERROR: 1064 You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘ALTER TABLE user ADD column Show_view_priv enum(‘N’,’Y’) CHARACTER SET utf8 NOT ‘ at line 1

That’s the only thing that sticks out for me. Clean install on a newly reinstalled Debian 6.0 VPS.

on ubuntu 10.04.03, i get this error:

→$sudo apt-get install mysql-server-5.5
Reading package lists… Done
Building dependency tree
Reading state information… Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
mysql-server-5.5: Depends: mysql-client-5.5 (>= 5.5.17-1~dotdeb.1) but it is not going to be installed
Depends: libssl0.9.8 (>= 0.9.8m-1) but 0.9.8k-7ubuntu8.6 is to be installed
Depends: mysql-server-core-5.5 (= 5.5.17-1~dotdeb.1) but it is not going to be installed
E: Broken packages

I can’t start my mysql because I have in my.cnf these two lines:
csv=off
mrg_myisam=off

How can I fix it?

I’ve replaced them and nothing has changed.
Syslog says:
[ERROR] /usr/sbin/mysqld: unknown option ‘–skip-csv’
Is there any solution for disabling csv and mrg_myisam engines?

About the lc-messages-dir mess. please REMOVE it from the my.cnf provided bt mysql-common! It makes impossible to cleanly install mysql-server-5.1 from dotdeb (installation from scratch), and maybe it’s not big deal if you are manually installing mysql but if you automate via puppet (or similiar) as I do, it’s a PITA, making almost impossible to use 5.1 from dotdeb

Hi,

I am trying to insatll mysql-client-5.5, but I get an error

mysql-server-5.5 : Depends: mysql-client-5.5 (>= 5.5.22-0~ppa1~oneiric) but it is not going to be installed

any idea how to fix this problem?

@Burthan : first of all, Dotdeb is built for Debian, not for Ubuntu. It should work but dependency problems could occur and no additional support will be provided.

Be sure to deactivate the ppa that povides mysql-client 5.5.22-0~ppa1~oneiric

@mandm: You need to download all files one by one to your computer and then do sudo dpkg -i * from the directory with the files.

Very nice post. I simply stumbled upon your blog and wanted to mention that I have
really loved browsing your blog posts. After all I will be subscribing for your feed and I’m hoping you write once more soon!

Thanks for the post.
I have some problems to upgrade the mysql. I added the mirrors. After a apt-get update, I tried to do apt-get install mysql-server=5.5
it doesn’t work then
apt-get install mysql-server and mysql-server-5.5
I get this : E: Unable to locate package mysql-server-5.5
E: Couldn’t find any package by regex ‘mysql-server-5.5’

I tried even to do apt-get upgrade but if doesn’t fixed my problem.

I don’t know if I missed something… Here is my source.list file :
cat /etc/apt/sources.list
deb http://mirror.ovh.net/debian/ squeeze main
deb-src http://mirror.ovh.net/debian/ squeeze main

deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

# mysql-5.5
deb http://packages.dotdeb.org stable all
deb-src http://packages.dotdeb.org stable all

I’ll try to comment the two first lines…

I hope someone have an idea to fix my problem.

@Mirza : you’re using Debian Squeeze, that is not “stable” anymore, but “oldstable”. Prefer using these lines in your sources.list :

deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all

Then launch apt-get install mysql-server-5.5

Comments are closed.