[debian-mysql] Bug#859800: jessie -> stretch upgrade with MySQL 5.5

Paul Gevers elbrus at debian.org
Tue Apr 11 02:46:52 UTC 2017


On 04/10/17 22:11, Ondřej Surý wrote:
> 1. what init system does your NAS have after upgrade?

paul at fuji ~ $ ll /sbin/init
lrwxrwxrwx 1 root root 20 mrt  2 09:21 /sbin/init -> /lib/systemd/systemd

> 2. did you reboot the system between removing mysql-server-5.5 and
> mariadb-server-10.0 (purging /var/run on tmpfs)?

Yes. Below some lines from /var/log/syslog

<Un-installng mysql-server-5.5>
Apr  7 11:03:43 fuji mysql[15397]: Stopping MySQL database server: mysqld.
Apr  7 11:03:43 fuji systemd[1]: Stopped LSB: Start and stop the mysql
database server daemon.

<reboot (last one since by the way)>
Apr  7 12:06:44 fuji kernel: [    0.000000] Booting Linux on physical
CPU 0x0

<first mentioning of MariaDB>
Apr  7 12:45:43 fuji mysqld_safe[2798]: 2017-04-07 12:45:43 3062317056
[Note] /usr/sbin/mysqld (mysqld 10.1.22-MariaDB-) starting as process
2825 ...
Apr  7 12:45:52 fuji mysqld_safe[2798]:
Apr  7 12:45:52 fuji mysqld_safe[2798]: Installation of system tables
failed!  Examine the logs in
Apr  7 12:45:52 fuji mysqld_safe[2798]: /var/lib/mysql for more information.
Apr  7 12:45:52 fuji mysqld_safe[2798]:
Apr  7 12:45:52 fuji mysqld_safe[2798]: The problem could be conflicting
information in an external
Apr  7 12:45:52 fuji mysqld_safe[2798]: my.cnf files. You can ignore
these by doing:
Apr  7 12:45:52 fuji mysqld_safe[2798]:
Apr  7 12:45:52 fuji mysqld_safe[2798]:     shell>
/usr/scripts/scripts/mysql_install_db --defaults-file=~/.my.cnf
Apr  7 12:45:52 fuji mysqld_safe[2798]:
Apr  7 12:45:52 fuji mysqld_safe[2798]: You can also try to start the
mysqld daemon with:
Apr  7 12:45:52 fuji mysqld_safe[2798]:
Apr  7 12:45:52 fuji mysqld_safe[2798]:     shell> /usr/sbin/mysqld
--skip-grant --general-log &
Apr  7 12:45:52 fuji mysqld_safe[2798]:
Apr  7 12:45:52 fuji mysqld_safe[2798]: and use the command line tool
/usr/bin/mysql
Apr  7 12:45:52 fuji mysqld_safe[2798]: to connect to the mysql database
and look at the grant tables:
Apr  7 12:45:52 fuji mysqld_safe[2798]:
Apr  7 12:45:52 fuji mysqld_safe[2798]:     shell> /usr/bin/mysql -u
root mysql
Apr  7 12:45:52 fuji mysqld_safe[2798]:     mysql> show tables;
Apr  7 12:45:52 fuji mysqld_safe[2798]:
Apr  7 12:45:52 fuji mysqld_safe[2798]: Try 'mysqld --help' if you have
problems with paths.  Using
Apr  7 12:45:52 fuji mysqld_safe[2798]: --general-log gives you a log in
/var/lib/mysql that may be helpful.
Apr  7 12:45:52 fuji mysqld_safe[2798]:
Apr  7 12:45:52 fuji mysqld_safe[2798]: The latest information about
mysql_install_db is available at
Apr  7 12:45:52 fuji mysqld_safe[2798]:
https://mariadb.com/kb/en/installing-system-tables-mysql_install_db
Apr  7 12:45:52 fuji mysqld_safe[2798]: MariaDB is hosted on launchpad;
You can find the latest source and
Apr  7 12:45:52 fuji mysqld_safe[2798]: email lists at
http://launchpad.net/maria
Apr  7 12:45:52 fuji mysqld_safe[2798]:
Apr  7 12:45:52 fuji mysqld_safe[2798]: Please check all of the above
before submitting a bug report
Apr  7 12:45:52 fuji mysqld_safe[2798]: at http://mariadb.org/jira
Apr  7 12:45:52 fuji mysqld_safe[2798]:
Apr  7 12:45:52 fuji mysqld_safe[2858]: 2017-04-07 12:45:52 3062255616
[Note] /usr/sbin/mysqld (mysqld 10.1.22-MariaDB-) starting as process
2857 ...

which coincides with the abort in /var/log/mysqld/error.log:
2017-04-07 12:45:49 3062317056 [ERROR] Aborting

On 04/10/17 22:47, Ondřej Surý wrote:
> Are you sure that you haven't done any manual changes to
> /etc/init.d/mysql that would cause dpkg to not replace it with new
> script?

Yes.
paul at fuji ~ $ ll /etc/init.d/mysql
-rwxr-xr-x 1 root root 5930 mrt 28 22:59 /etc/init.d/mysql

Which matches:
mariadb-10.1 (10.1.22-3) unstable; urgency=medium
 -- Ondřej Surý <ondrej at debian.org>  Tue, 28 Mar 2017 22:59:06 +0200

> Is there something like /etc/init.d/mysql.dpkg-* present on your
> NAS system (although I can start mariadb even with the old MySQL 5.5
> init.d script).

No,
paul at fuji ~ $ ll /etc/init.d/mysql*
-rwxr-xr-x 1 root root 5930 mrt 28 22:59 /etc/init.d/mysql

> Would you be willing to test it again on your system:
> 
> a) stop mariadb server
> b) rm -rf /var/run/mysqld
> c) start mariadb server

paul at fuji ~ $ sudo service mysql stop
paul at fuji ~ $ sudo rmdir /var/run/mysqld/
paul at fuji ~ $ sudo service mysql start
paul at fuji ~ $ ll /var/run/mysqld/
total 4
drwxr-xr-x  2 mysql root   80 apr 11 04:08 .
drwxr-xr-x 26 root  root  820 apr 11 04:08 ..
-rw-rw----  1 mysql mysql   6 apr 11 04:08 mysqld.pid
srwxrwxrwx  1 mysql mysql   0 apr 11 04:08 mysqld.sock

So, now it can properly succeed.

> Does it fails to create /var/run/mysqld?  If not, then (on sysvinit
> system) output of:
> 
> sh -x /etc/init.d/mysql start
> 
> or on systemd init system output of
> 
> journalctl --unit=mariadb
> 
> would be appreciated.

paul at fuji ~ $ sudo journalctl --unit=mariadb
-- Logs begin at Mon 2017-04-10 23:56:51 CEST, end at Tue 2017-04-11
04:09:35 CEST. --
apr 11 04:07:18 fuji systemd[1]: Stopping MariaDB database server...
apr 11 04:07:20 fuji systemd[1]: Stopped MariaDB database server.
apr 11 04:08:08 fuji systemd[1]: Starting MariaDB database server...
apr 11 04:08:10 fuji mysqld[21405]: 2017-04-11  4:08:10 3061743616
[Note] /usr/sbin/mysqld (mysqld 10.1.22-MariaDB-) starting as proces
apr 11 04:08:12 fuji systemd[1]: Started MariaDB database server.

> (Or can I catch you on IRC/Jabber/<other means of online
> communications>?)

I am elbrus on IRC and the last couple of days watching #debian-mysql.

> Minor nits:
> 1. systemd unit should use tmpfiles instead of running install -d
> 2. there's a race condition where /var/run/mysqld is a dangling symlink,
> but that's should not happen

I am pretty sure that /var/run/mysqld didn't exist, not even as a
dangling symlink.

Paul

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.alioth.debian.org/pipermail/pkg-mysql-maint/attachments/20170411/9bf4b9e2/attachment.sig>


More information about the pkg-mysql-maint mailing list