Categories
MySQL

MySQL 5.1.55 is available

MySQL 5.1.55 packages are now available on Dotdeb :

  • for Debian 6.0 “Squeeze” and Debian 5.0 “Lenny”
  • for the amd64 and i386 architectures

As usual, please read the Changelog of this maintainance release before upgrading.

Note 1 : the Pinba storage engine for MySQL has been rebuilt against MySQL 5.1.55 (Squeeze only)
Note 2 : Maatkit has been updated to 7284
Note 3 : if you had issues with loading the InnoDB plugin on Squeeze, your feedback is welcome (post a comment below).

30 replies on “MySQL 5.1.55 is available”

Hi,

Thank for your great job!

The Dotdeb packages (php & mysql) are compatible with ubuntu 10.04 / 10.10?

@Bala : this work is in progress on Debian on Ubuntu, please be patient

@Itaniums : the Dotdeb packages work on Ubuntu, but with no further support. Those for Squeeze may have a dependency problem on Lucid, use Lenny’s one instead.

hi, after the upgrade, the mysql won’t start, I think the same problem that you mentioned in note 3.
if I comment out the
ignore_builtin_innodb
plugin-load=innodb=ha_innodb_plugin.so
then it starts.
I will look into this, please tell me what details do you need.

Tyrael

Feb 26 16:16:03 thor mysqld: 110226 16:16:03 [ERROR] /usr/sbin/mysqld: unknown variable ‘innodb_log_file_size=32M’
Feb 26 16:16:03 thor mysqld: 110226 16:16:03 [ERROR] Aborting

it seems that the plugin-load directive isn’t parsed anymore from the mysql config.
at least I couldn’t see anything in my strace output, which would indicate that the mysqld would try to load the ha_innodb_plugin.so

I’ve checked the mysql manual, but they didn’t list plugin-load as a variable, it seems that you can only set that through the mysqld arguments.

Tyrael

if I add the –plugin-load stuff to my mysqld arguments, it starts fine.
so it seems that the possibility to plugin-load through my.cnf was removed from this version.
at least judging from my tests.

Tyrael

@tyrael : are you using Squeeze or Lenny? I had a similar issue on Squeeze.

I started some tests and they highlighted a parsing problem. Adding a blank line after load-plugin seems to fix the issue.

I’m still invetigating

I’ve just started debugging mysqld_safe, it does some magic, it converts the variables from my.cnf into mysqld arguments, if neccessary.
so this is how the plugin-load worked until now from the my.cnf.
maybe something changed in the mysqld_safe script which prevents this.
will check.

Tyrael

Ok, I’ve traced the mysqld_safe, it only passes mysqld arguments which was passed to mysqld_safe in the first place, so the mysql did parse and load the plugin-load configuration values up until now.
so it seems that is indeed a mysql “bug” (they didn’t explicitly states that you can set plugin-load as a configuration option, so maybe that was the bug in the first place)

Tyrael

it is documented:
http://dev.mysql.com/doc/refman/5.1/en/replacing-builtin-innodb.html

in the meanwhile I found out the problem.
I’ve have had the pinba-mysql-engine package installed, and thats created a file
/etc/mysql/conf.d/pinba.cnf
which had the following:

[mysqld]
plugin-load=libpinba_engine.so

it seems that mysql doesn’t like the multiple plugin-load, so one has to merge the two plugin-load like this:

plugin-load=libpinba_engine.so

plugin-load=innodb=ha_innodb_plugin.so;libpinba_engine.so

Tyrael

sorry, I’ve had an extra line in my previous comment, corrected here:

it seems that mysql doesn’t like the multiple plugin-load, so one has to merge the two plugin-load like this:
plugin-load=innodb=ha_innodb_plugin.so;libpinba_engine.so

Tyrael

SSL isnt working:

mysql> show variables like ‘%ssl%’;
+—————+———————————-+
| Variable_name | Value |
+—————+———————————-+
| have_openssl | DISABLED |
| have_ssl | DISABLED |
| ssl_ca | /etc/mysql-certs/ca-cert.pem |
| ssl_capath | |
| ssl_cert | /etc/mysql-certs/server-cert.pem |
| ssl_cipher | |
| ssl_key | /etc/mysql-certs/server-key.pem |
+—————+———————————-+

works for me on squeeze

mysql> show variables like ‘%ssl%’;
+—————+————————+
| Variable_name | Value |
+—————+————————+
| have_openssl | YES |
| have_ssl | YES |
| ssl_ca | |
| ssl_capath | |
| ssl_cert | /etc/mysql/ca-cert.pem |
| ssl_cipher | |
| ssl_key | /etc/mysql/ca-key.pem |
+—————+————————+
7 rows in set (0.06 sec)

Tyrael

first off, love you work. I owe you a case of beer for sure.

We also are having issues with ssl after upgrading to this version of mysql. Initially there were no errors logged in the syslog file on mysql start but the ssl didn’t work. It showed it had have_ssl as YES but when a client tried to connect via ssl, it failed and falled back to non-ssl. I tried changing the owner on the cert, ca, and key to mysql:mysql but now when mysql starts, it is showing that it can’t read the files. I’ve poured over the mysql manuals and haven’t had much luck. Their coverage of ssl use is quite lacking. SSL was working great before we updating mysql to this package. Any suggestions would be appreciated.

@matt :
– which Debian release are you using?
– what’s the result of “dpkg -l ‘mysql-server*'” ?
– what’s the output of “show variables like ‘%ssl%’;”?
– could you provide the result of a “ls -al” on the SSL files mentionned in the previous query?

@Guillaume Plessis

# cat /etc/debian_version
6.0

# dpkg -l ‘mysql-server*’
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Description
+++-==============-==============-============================================
ii mysql-server 5.1.55-0.dotde MySQL database server (metapackage depending
un mysql-server-4 (no description available)
un mysql-server-5 (no description available)
ii mysql-server-5 5.1.55-0.dotde MySQL database server binaries and system da
un mysql-server-c (no description available)
un mysql-server-c (no description available)
ii mysql-server-c 5.1.55-0.dotde MySQL database server binaries

ls -l on the key directory shows:
total 32
-r–r—– 1 mysql mysql 1452 Sep 3 2010 ca-cert.pem
-r–r—– 1 mysql mysql 1679 Sep 3 2010 ca-key.pem
-r–r—– 1 mysql mysql 1143 Sep 3 2010 client-cert.pem
-r–r—– 1 mysql mysql 1679 Sep 3 2010 client-key.pem
-r–r—– 1 mysql mysql 968 Sep 3 2010 client-req.pem
-r–r—– 1 mysql mysql 1143 Sep 3 2010 server-cert.pem
-r–r—– 1 mysql mysql 1675 Sep 3 2010 server-key.pem
-r–r—– 1 mysql mysql 968 Sep 3 2010 server-req.pem

Before changing the owner to mysql:mysql it was root:root and the cert’s were loading into mysql. But it was rejecting client ssl connections. Now it is not even loading in the keys.

mysql> show variables like ‘%ssl%’;
+—————+————————————-+
| Variable_name | Value |
+—————+————————————-+
| have_openssl | DISABLED |
| have_ssl | DISABLED |
| ssl_ca | /correct/path/to/cacert.pem |
| ssl_capath | |
| ssl_cert | /correct/path/to/server-cert.pem |
| ssl_cipher | |
| ssl_key | /correct/path/to/server-key.pem |
+—————+————————————-+
7 rows in set (0.00 sec)

could you try to
sudo su mysql –
and then try to cat the certs/keys?
if you have read permission for the files, but you don’t have execution right for every parent directory then you can’t read the file.

Tyrael

Can someone please help?

server:~# apt-get upgrade
Reading package lists… Done
Building dependency tree
Reading state information… Done
The following packages have been kept back:
libapache2-mod-php5 mysql-client mysql-server php-pear php5 php5-cli php5-common php5-curl php5-gd php5-imagick php5-imap php5-mcrypt
php5-mysql php5-pspell php5-recode php5-snmp php5-sqlite php5-suhosin php5-tidy php5-xcache php5-xmlrpc php5-xsl
0 upgraded, 0 newly installed, 0 to remove and 22 not upgraded.

Can someone please help with the error?

@Tyrael Thanks that got it to recognize the keys. But now I’m back to mysql rejecting ssl connections

Comments are closed.