MariaDB 10.1 fails to install on Xenial

Similarly to #5837, MariaDB 10.1 fails to install on Xenial with the following output:

● mariadb.service - MariaDB 10.1.38 database server
   Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           └─migrated-from-my.cnf-settings.conf
   Active: failed (Result: exit-code) since Tue 2019-04-23 16:15:32 UTC; 7ms ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 6171 ExecStart=/usr/sbin/mysqld $MYSQLD_OPTS $_WSREP_NEW_CLUSTER $_WSREP_START_POSITION (code=exited, status=1/FAILURE)
  Process: 6152 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||   VAR=`/usr/bin/galera_recovery`; [ $? -eq 0 ]   && systemctl set-environment _WSREP_START_POSITION=$VAR || exit 1 (code=exited, status=0/SUCCESS)
  Process: 6144 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITION (code=exited, status=0/SUCCESS)
  Process: 6134 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysqld (code=exited, status=0/SUCCESS)
 Main PID: 6171 (code=exited, status=1/FAILURE)
   Status: "MariaDB server is down"

We are working on a fix with

Thank you for the heads up, @BanzaiMan!

FWIW, right now I’m seeing new issues with other MariaDB versions on Xeinal. For instance:

The following information may help to resolve the situation:
    The following packages have unmet dependencies:
     mariadb-server-10.0 : Depends: mariadb-client-10.0 (>= 10.0.38+maria-1~xenial) but it is not going to be installed
                           Depends: mariadb-server-core-10.0 (>= 10.0.38+maria-1~xenial) but it is not going to be installed
    E: Unable to correct problems, you have held broken packages.

I think something may have broken or changed with regards to how MariaDB 10.3 is configured for Xenial.

Passing from yesterday: https://travis-ci.org/coleifer/peewee/jobs/523551111

Erroring from today: https://travis-ci.org/coleifer/peewee/jobs/524146594

Today the following line from my config is failing (only in Xenial):

mysql -e 'grant all on *.* to travis@localhost;'

ERROR 1133 (28000) at line 1: Can't find any matching row in the user table

Yesterday this line did not produce any issues in either trusty or xenial.

As an experiment, I modified my setup script so that the failure of this particular command would not cause the whole build to error. After doing this:

"Access denied for user 'travis'@'localhost' (using password: NO)"

So, if I try to do the GRANT it errors. If I try to omit the GRANT it fails.

I was getting the same error with MariaDB 10.3 on Xenial in this PR: https://github.com/adamchainz/mariadb-dyncol/pull/176/files

I fixed it by creating the user (if it does not exist) with this command in install:

- mysql -u root -e 'CREATE USER IF NOT EXISTS travis@localhost; GRANT ALL ON *.* TO travis@localhost;'