Categories
MySQL

MySQL 5.6.19, for Debian Wheezy

MySQL 5.6.19 has been released on May 30th, 2014, fixing various bugs.

Please read the full Changelog fore more details.

The corresponding packages are now available for Debian 7 “Wheezy”, on both amd64 and i386 architectures.

42 replies on “MySQL 5.6.19, for Debian Wheezy”

After upgrading some server, I have 3 on 4 of them who got the error:
cp: cannot overwrite directory `/var/lib/mysql-upgrade/DATADIR.link/mysql’ with non-directory

The mysql seems to be updated, but Aptitude still thinks mysql-server-5.6 needs to be updated.

Here is the full output:
#aptitude full-upgrade
The following packages will be upgraded:
mysql-server-5.6
1 packages upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
Need to get 0 B/14.8 MB of archives. After unpacking 8,192 B will be used.
Do you want to continue? [Y/n/?] y
Reading changelogs… Done
Preconfiguring packages …
(Reading database … 38382 files and directories currently installed.)
Preparing to replace mysql-server-5.6 5.6.17-1~dotdeb.1 (using …/mysql-server-5.6_5.6.19-1~dotdeb.1_amd64.deb) …
[ ok ] Stopping MySQL database server: mysqld.
[ ok ] Stopping MySQL database server: mysqld.
cp: cannot overwrite directory `/var/lib/mysql-upgrade/DATADIR.link/mysql’ with non-directory
dpkg: error processing /var/cache/apt/archives/mysql-server-5.6_5.6.19-1~dotdeb.1_amd64.deb (–unpack):
subprocess new pre-installation script returned error exit status 1
[ ok ] Stopping MySQL database server: mysqld.
[….] Starting MySQL database server: mysqldNo directory, logging in with HOME=/
. ok
[info] Checking for tables which need an upgrade, are corrupt or were
not closed cleanly..
[ ok ] Starting MySQL database server: mysqld already running.
Errors were encountered while processing:
/var/cache/apt/archives/mysql-server-5.6_5.6.19-1~dotdeb.1_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
A package failed to install. Trying to recover:

Why apt upgrades mysql-common to version 5.6 when others mysql* packages have version 5.5?
We use puppet to install mysql on our live servers and we have everything tested against mysql 5.5.
Here is output from puppet agent
Notice: /Stage[main]/Mysql55::Server/Package[mysql-common]/ensure: ensure
changed ‘5.6.17-1~dotdeb.1’ to ‘5.5.*’
Notice: /Stage[main]/Mysql55::Server/Package[mysql-server]/ensure: ensure
changed ‘5.5.37-0+wheezy1’ to ‘5.5.*’
Notice: /Stage[main]/Mysql55::Server/Package[libmysqlclient18]/ensure:
ensure changed ‘5.6.17-1~dotdeb.1’ to ‘5.5.*’

Hi,

I got the same as /var/lib/mysql for me is a symlink to somewhere else on my server.

I restored a real /var/lib/mysql directory and it almost worked :

[….] Starting MySQL database server: mysqldPas de répertoire, connexion avec HOME=/

Full output :

root@cfl2013:~# aptitude upgrade
Les paquets suivants seront mis à jour :
mysql-server-5.6
1 paquets mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 0 o/14,8 Mo d’archives. Après dépaquetage, 8 192 o seront utilisés.
Voulez-vous continuer ? [Y/n/?]
Préconfiguration des paquets…
(Lecture de la base de données… 27059 fichiers et répertoires déjà installés.)
Préparation du remplacement de mysql-server-5.6 5.6.17-1~dotdeb.1 (en utilisant …/mysql-server-5.6_5.6.19-1~dotdeb.1_amd64.deb) …
[ ok ] Stopping MySQL database server: mysqld.
[ ok ] Stopping MySQL database server: mysqld.
Dépaquetage de la mise à jour de mysql-server-5.6 …
Traitement des actions différées (« triggers ») pour « man-db »…
Paramétrage de mysql-server-5.6 (5.6.19-1~dotdeb.1) …
[ ok ] Stopping MySQL database server: mysqld.
[….] Starting MySQL database server: mysqldPas de répertoire, connexion avec HOME=/
[ .k
[info] Checking for tables which need an upgrade, are corrupt or were
not closed cleanly..
[ ok ] Starting MySQL database server: mysqld already running.

État actuel : 0 paquet cassé [-1], 0 mise à jour restante [-1].

Even removing and re-installing mysql-server-5.6 will lead to the same output.

Let me know if you need more details !

Can someone please provide detailed steps to fix the following message when mysql starts up?

# service mysql restart
[ ok ] Stopping MySQL database server: mysqld.
[….] Starting MySQL database server: mysqldNo directory, logging in with HOME=/
. ok
[info] Checking for tables which need an upgrade, are corrupt or were
not closed cleanly..

mysql-server was installed on a clean install of wheezy using dotdeb repo.

Some, additional information in case it helps:

#uname -a
Linux deblab 3.2.0-4-amd64 #1 SMP Debian 3.2.57-3+deb7u2 x86_64 GNU/Linux

# apt-get install mysql-server 2>&1 | tee std.txt
CONTENTS OF std.txt:
http://www.hastebin.com/jijifagulu.avrasm

CONTENTS OF /var/log/mysql/error.log
http://www.hastebin.com/mirizuwazu.vhdl

CONTENTS OF /etc/mysql/debian.cnf
http://www.hastebin.com/ozekuhegan.hs

CONTENTS OF /etc/mysql/debian-start
http://www.hastebin.com/kihoyadola.vala

CONTENTS OF /etc/mysql/my.cnf
http://www.hastebin.com/xehivizije.vala

No, I haven’t added any extra config.
mysql-server was installed on a clean installation of Debian Wheezy in a VM. With no pre existing version of mysql or any additional config. There is only one file present in /etc/mysql/conf.d:
mysqld_safe_syslog.cnf (CONTENTS BELOW):
————————
[mysqld_safe]
syslog
————————

So, any suggestions on how I can resolve the errors I’m receiving after a clean installation of mysql-server on a clean install of Wheezy?

As I don’t have any custom config or prior install I’m assuming everyone must’ve come across this during installation.

@vmi : as said before, you can ignore the “No directory message”, and the check for “for tables which need an upgrade, are corrupt or were
not closed cleanly” is normal. At the end, your MySQL server starts

2014-06-15 18:00:51 6823 [Note] /usr/sbin/mysqld: ready for connections.
Version: '5.6.19-1~dotdeb.1'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  (Debian)

The installation is a success.

About warnings in mysql/error.log, could you please run SHOW ENGINES and SHOW PLUGINS to ensure that InnoDB, Blackhole and Archive storage engines are up?
About the limits, check this : http://localhost:8080/2014/04/02/mysql-5-6-17-for-wheezy/#comment-29419

Sorry for the delay in responding and thanks for your response.

I added the following lines to /etc/security/limits.conf :
* soft nofile 32768
* hard nofile 65536
root soft nofile 32768
root hard nofile 65536

And also ran SHOW ENGINES and SHOW PLUGINS as you requested, output in link below:
http://www.hastebin.com/egogucopik.m

However, I’m still seeing errors every time I restart mysql in /var/log/mysql/error.log
Below are the contents of that file after erasing error.log and then service mysql restart.
http://www.hastebin.com/zobarolutu.vhdl

Mysql seems to be running but I’d like to have a clean error.log, so please let me know if I should just ignore the errors or if there is a way to set it right.

Thanks again for your efforts w/ dotdeb project and still finding time to help newbs like me =)

@vmi : everything is fine, you can ignore the warning message. Storage engines are loaded as expected. What is strange is that MySQL tries to load them a second time. That why I asked if you had extra config files, mentioning a plugin-load setting. But it’s ok.

Clean new wheezy install, error while ‘apt-get install mysql-server’

It opens the GUI and asks fot a password…and then:

Starting MySQL database server: mysqldNo directory, logging in with HOME=/
. . . . . . . . . . . . . . failed!
invoke-rc.d: initscript mysql, action “start” failed.
dpkg: error processing mysql-server-5.6 (–configure):
subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
mysql-server-5.6
E: Sub-process /usr/bin/dpkg returned an error code (1)

@Guillaume
I was able to solve the mystery behind the plugin errors I was receiving and decided to share the solution here in case other’s were wondering the same. To recap, the original errors in question showing up in /var/log/mysql/error.log were:
2014-06-19 01:12:07 3798 [ERROR] Function ‘innodb’ already exists
2014-06-19 01:12:07 3798 [Warning] Couldn’t load plugin named ‘innodb’ with soname ‘ha_innodb.so’.
2014-06-19 01:12:07 3798 [ERROR] Function ‘federated’ already exists
2014-06-19 01:12:07 3798 [Warning] Couldn’t load plugin named ‘federated’ with soname ‘ha_federated.so’.
2014-06-19 01:12:07 3798 [ERROR] Function ‘blackhole’ already exists
2014-06-19 01:12:07 3798 [Warning] Couldn’t load plugin named ‘blackhole’ with soname ‘ha_blackhole.so’.
2014-06-19 01:12:07 3798 [ERROR] Function ‘archive’ already exists
2014-06-19 01:12:07 3798 [Warning] Couldn’t load plugin named ‘archive’ with soname ‘ha_archive.so’.

Summary of solution:
If a plugin is named both using a –plugin-load option and in the mysql.plugin table, the server starts but writes these messages to the error log:
100310 19:15:44 [ERROR] Function ‘plugin_name’ already exists
100310 19:15:44 [Warning] Couldn’t load plugin named ‘plugin_name’ with soname ‘plugin_object_file’.

I found the answer thanks to a post in the msyql forums:
http://forums.mysql.com/read.php?22,614511,614601#msg-614601

Complete explaination here:
http://dev.mysql.com/doc/refman/5.5/en/server-plugin-loading.html#server-plugin-installing

Personally, I solved this by removing all 4 offending rows in mysql.plugin by running the following:
delete from mysql.plugin;

Afterwards, I was able to confirm that the plugin’s were still loading using SHOW PLUGINS;
But this time no more error messages like above in error log.

Hope this helps and please let me know if there’s a better solution than what I’ve used.

— Thanks

Did reinstall Debian 7, no more actions were applied except adding dotdeb to /etc/apt/sources.list.d/dotdeb.list

After that ‘apt-get update && apt-get install mysql-server’ gives the same error.

140621 16:20:05 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql
2014-06-21 16:20:06 7489 [Note] Plugin ‘FEDERATED’ is disabled.
/usr/sbin/mysqld: Table ‘mysql.plugin’ doesn’t exist
2014-06-21 16:20:06 7489 [ERROR] Can’t open the mysql.plugin table. Please run mysql_upgrade to create it.
2014-06-21 16:20:06 7489 [Note] InnoDB: Using atomics to ref count buffer pool pages
2014-06-21 16:20:06 7489 [Note] InnoDB: The InnoDB memory heap is disabled
2014-06-21 16:20:06 7489 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2014-06-21 16:20:06 7489 [Note] InnoDB: Compressed tables use zlib 1.2.7
2014-06-21 16:20:06 7489 [Note] InnoDB: Using Linux native AIO
2014-06-21 16:20:06 7489 [Note] InnoDB: Using CPU crc32 instructions
2014-06-21 16:20:06 7f021a8cd720 InnoDB: Warning: io_setup() failed with EAGAIN. Will make 5 attempts before giving up.
InnoDB: Warning: io_setup() attempt 1 failed.
InnoDB: Warning: io_setup() attempt 2 failed.
InnoDB: Warning: io_setup() attempt 3 failed.
InnoDB: Warning: io_setup() attempt 4 failed.
InnoDB: Warning: io_setup() attempt 5 failed.
2014-06-21 16:20:08 7f021a8cd720 InnoDB: Error: io_setup() failed with EAGAIN after 5 attempts.
InnoDB: You can disable Linux Native AIO by setting innodb_use_native_aio = 0 in my.cnf
2014-06-21 16:20:08 7489 [ERROR] InnoDB: Fatal : Cannot initialize AIO sub-system
2014-06-21 16:20:08 7489 [ERROR] Plugin ‘InnoDB’ init function returned error.
2014-06-21 16:20:08 7489 [ERROR] Plugin ‘InnoDB’ registration as a STORAGE ENGINE failed.
2014-06-21 16:20:08 7489 [ERROR] Unknown/unsupported storage engine: InnoDB
2014-06-21 16:20:08 7489 [ERROR] Aborting

Tried another way: installed mysql 5.5 from official repos, then added dotdeb and upgraded. Upgrade process again failed, but the packages were updated. Manually ran ‘mysql_upgrade’ and now its working (although ‘service mysql …..’ is not working).
BTW, you cant remove dotdeb mysql package if this error occurs 🙁

@Mike : the problem here is that your Linux kernel does not support native asynchronous IO. I suppose that you’re not using a stock Debian kernel (they support them by default). As written in your error logs, “You can disable Linux Native AIO by setting innodb_use_native_aio = 0 in my.cnf”. All should work fine then.

Hi, After updating my debian 6 machine to debian 7, also updated MySQL 5.5 to 5.6 and now I’m noticing when I run dpkg –get-selections I have some 5.5 packages left over mysql-server-core-5.5 mysql-client-core-5.5 mysql-server-5.5 is this suppose to be this way because when I run apt-get remove mysql-server-5.5 I receive Package ‘mysql-server-5.5’ is not installed, so not removed

Thanks

This problem is just because of another mysqld were running. After some another magical actions like install 5.5 – upgrade – then install mysql-server-5.6 (dont know why it was needed to install it again separately, but apt says that it was unresolved dependency) all works fine now. The problem is not in the core, it is for sure.

I’m having this problem after a update:

Installing new version of config file /etc/mysql/debian-start …
Installing new version of config file /etc/init.d/mysql …
Installing new version of config file /etc/logrotate.d/mysql-server …
[ ok ] Stopping MySQL database server: mysqld.
[….] Starting MySQL database server: mysqldNo directory, logging in with HOME=/
[FAIL. . . . . . . . . . . . failed!
invoke-rc.d: initscript mysql, action “start” failed.
dpkg: error processing mysql-server-5.6 (–configure):
subprocess installed post-installation script returned error exit status 1
dpkg: dependency problems prevent configuration of mysql-server:
mysql-server depends on mysql-server-5.6; however:
Package mysql-server-5.6 is not configured yet.

Using Wheezy..

Thanks!

Ive checked the logs but didnt find any tip (I’m too newbie). But I did something to fix it:

# apt-get remove –purge mysql-* (purge is what made the difference)
# apt-get install mysql-server

Anyway, thanks for your work ,Guillaume (or Guilherme like we say in my country).

Bonjour,

L’erreur est toujours là de mon côté malgré le passage à MySQL 5.6.19 : est-ce que cette dernière version ne corrige pas le problème côté client ?

I think there’s a conflict with percona packages. I use percona serwer and today when I tried to update my packages on debian wheezy I get error when I trie to update libperconaserver18.1. It prints that the mentioned package tries to overwrite libmysqlclient.so.18.1.0 which is in libmysqlclient18:amd64 5.6.19-1~dotdeb.1

Yes, I found out that was because I add a symlink for my mysql data directory.

In order to solve it:
1) Stop MySQL server
2) Remove symlink
3) Create new empty data dir
4) Update MySQL package
5) Restop MySQL (as the update might have update it)
6) Re-add your symlink
7) Start MySQL

Hello,

I had trouble installing this on fresh setup. Error was:
/var/lib/dpkg/info/mysql-server-5.6.postinst: line 111: logger: command not found
/var/lib/dpkg/info/mysql-server-5.6.postinst: line 187: logger: command not found

The command which fixed it:
apt-get install bsdutils –reinstall

Thanks and bye

In VMware WS 10 This warning pops up in the wordPress Debug Bar and in the logs:
“Warning: mysqli_real_connect(): Headers and client library minor version mismatch. Headers:50538 Library:50619 in /usr/share/nginx/website02/wp-includes/wp-db.php on line 1379”

Any ideas how to rid off it?

TIA

Hi Jerome,
That was quick. I hope that you were not expecting me. 🙂
Apologies I should have searched first.
After reading the post you linked, I decide not to take any action after reading this: “The warning is thrown by libmysqlclient18 itself. And this is just a warning, there is no reason why any bad behavior would happen in that case.”

Thanks!

Comments are closed.