[debian-mysql] Bug#837166: mysqld can't find messagefile if mysqld_safe is started by systemd

Thomas DEBESSE debian at illwieckz.net
Fri Sep 9 16:26:16 UTC 2016


Package: mysql-server-5.6
Version: 5.6.30-1~bpo8+1

Hi, I just installed mysql-server this way:

# apt-get install -t jessie-backports mysql-server

It was a fresh install with no prior mysql-server installation.

At startup, the mysql server shutdowns itself printing these messages
in /var/log/mysql/error.log:

2016-09-09 17:15:01 7042 [ERROR] Can't find messagefile
'/usr/share/mysql/errmsg.sys'
2016-09-09 17:15:02 7042 [ERROR] Aborting

It always does that if I start mysql-server the systemd way:

root at podocarpe:/root
# systemctl start mysql

I noticed that it also prints some related warnings in /var/log/mysql/error.log:

2016-09-09 17:34:41 0 [Warning] The syntax '--language/-l' is
deprecated and will be removed in a future release. Please use
'--lc-messages-dir' instead.

I noticed that even if I add some lc-messages-dir explicit parameters, it fails:

# cat /etc/mysql/mysql.conf.d/zz_language.cnf
[mysqld]
lc_messages_dir = /usr/share/mysql/french/

>From /var/log/mysql/error.log:
2016-09-09 17:42:20 13072 [ERROR] Can't find messagefile
'/usr/share/mysql/french/errmsg.sys'

And of course this file exists.

I noticed that if I copy this file to /usr/share/mysql/errmsg.sys and
do not use that lc-messages-dir trick, mysqld complains to not being
able to find it even if it exists for real (same is I use the english
errmsg.sys).

I noticed that if I start the server by hand, this way (and even
without that lc-messages-dir trick):

# /usr/bin/mysqld_safe

It works!

What is curious is systemd tries to start mysql-server the same way:

# grep mysqld_safe /lib/systemd/system/mysql.service
ExecStart=/usr/bin/mysqld_safe

So, I can start /usr/bin/mysqld_safe by hand on an interactive shell,
but systemd can't.

So, the current mysql-server package in jessie-backports can't be
started by systemd.

-- 
Thomas DEBESSE



More information about the pkg-mysql-maint mailing list