MariaDB fails after yesterday's OpenSUSE update

I have an OpenSimulator virtual world that has been running on MariaDB and OpenSUSE (currently Leap 15.2) for ten years. MariaDB suddenly stopped running this morning after an OpenSUSE update. I’m stumped. I have users who need to log on, but the mariadb problem is preventing starting it. I really hope someone can help!

Last evening at 9pm I performed a ‘zypper update’. It didn’t return any errors. My crontab backup ran successfully at 2am. I waited until 3:30am to reboot the server so I wouldn’t knock any users off. I didn’t get any errors until I started mono to run my virtual world. Instead of starting, it gave me a long string of error messages. The log file contained:


Jun 17 03:33:13 virtualmarin mysql-systemd-helper[5047]: 2021-06-17  3:33:13 0 [Warning] Could not increase number of max_open_files to more than 1024 (request: 32190)
Jun 17 03:33:13 virtualmarin mysql-systemd-helper[5047]: 2021-06-17  3:33:13 0 [Warning] Changed limits: max_open_files: 1024  max_connections: 151 (was 151)  table_cache: 4>
Jun 17 03:33:16 virtualmarin systemd[1]: mariadb.service: Main process exited, code=exited, status=7/NOTRUNNING
Jun 17 03:33:16 virtualmarin systemd[1]: Failed to start MariaDB database server.

I fixed the max-open-files error by creating /etc/systemd/system/mariadb.service.d/limitnofile.conf, which contained:


[Service]
LimitNOFILE=1048576

But mariadb still failed, though with a different but unidentified error.

I’ve now uninstalled mariadb and reinstalled it, but after executing ‘systemctl enable mysql‘ and ‘systemctl start mysql’, I get an entirely new set of errors:


mariadb.service - MariaDB database server
   Loaded: loaded (/usr/lib/systemd/system/mariadb.service; enabled; vendor preset: disabled)
  Drop-In: /etc/systemd/system/mariadb.service.d
           └─limitnofile.conf
   Active: failed (Result: exit-code) since Thu 2021-06-17 14:29:25 PDT; 23s ago
     Docs: man:mysqld(8)
           https://mariadb.com/kb/en/library/systemd/
  Process: 4417 ExecStartPre=/usr/lib/mysql/mysql-systemd-helper install (code=exited, status=1/FAILURE)

Jun 17 14:29:25 virtualmarin mysql-systemd-helper[4417]: You can also try to start the mysqld daemon with:
Jun 17 14:29:25 virtualmarin mysql-systemd-helper[4417]:     shell> /usr/sbin/mysqld --skip-grant-tables --general-log &
Jun 17 14:29:25 virtualmarin mysql-systemd-helper[4417]: and use the command line tool /usr/bin/mysql
Jun 17 14:29:25 virtualmarin mysql-systemd-helper[4417]: to connect to the mysql database and look at the grant tables:
Jun 17 14:29:25 virtualmarin mysql-systemd-helper[4417]:     shell> /usr/bin/mysql -u root mysql
Jun 17 14:29:25 virtualmarin mysql-systemd-helper[4417]:     mysql> show tables;
Jun 17 14:29:25 virtualmarin systemd[1]: mariadb.service: Control process exited, code=exited status=1
Jun 17 14:29:25 virtualmarin systemd[1]: Failed to start MariaDB database server.
Jun 17 14:29:25 virtualmarin systemd[1]: mariadb.service: Unit entered failed state.
Jun 17 14:29:25 virtualmarin systemd[1]: mariadb.service: Failed with result 'exit-code'.

This system has been running for ten years. I didn’t make any changes yesterday or today (or recently, for that matter). All I did was run ‘zypper update’ and then reboot the system. I’m desperate. Can anyone make a suggestion?

That is a quite nasty problem. Too bad MariaDB is not given a hint on what is wrong.

You can find a list of packages that is updated in /var/log/zypp/history (open as root, the last updates at the top). Can you post which packages are updated?

I am not running MariaDB but an Error Log would help.

Copy paste the output of;

journalctl -u mariadb -b

here.

Naturally trim it to include only the latest attempt to start MariaDB log output

If you have installed a new version of mariadb, then your original mysql.user may not be compatible with the new version. Moreover, if your backup files include the old mysql.user, mariadb may not allow you to restore them.

It may be worth checking out https://mariadb.com/kb/en/upgrading/