Home > Mobile >  Ubuntu 22.04. MariaDB "Starting MariaDB database server mariadbd [fail]"
Ubuntu 22.04. MariaDB "Starting MariaDB database server mariadbd [fail]"

Time:06-04

Here's what I use:

lsb_release -a
 Distributor ID: Ubuntu
 Description:    Ubuntu 22.04 LTS
 Release:        22.04
 Codename:       jammy

uname -r
 5.10.102.1-microsoft-standard-WSL2
Operating system
 Windows 11 Pro
  * version
    21H2
  * build 
    22000.708
  * experience
    Windows Feature Experience Pack 1000.22000.708.0.

Here are the outputs:

sudo mariadb --version
 * mariadb Ver 15.1 Distrib 10.6.7-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
sudo service mariadb restart
 * Stopping MariaDB database server mariadbd [ OK ]
 * Starting MariaDB database server [fail]
sudo service mariadb status
 * MariaDB is stopped.
nano /var/log/mysql/error.log
 * 2022-03-29 15:43:59 0 [Warning] InnoDB: Linux Native AIO interface is not supported on this platform. Please check your OS documentation and install appropriate binary of InnoDB.
 * 2022-03-29 15:43:59 0 [Warning] InnoDB: Linux Native AIO disabled.
sudo mysqld --verbose --user root
 * 2022-06-02 13:27:16 0 [Note] mysqld (server 10.6.7-MariaDB-1:10.6.7 maria~focal) starting as process 1445 ...
 * 2022-06-02 13:27:16 0 [Note] InnoDB: Compressed tables use zlib 1.2.11
 * 2022-06-02 13:27:16 0 [Note] InnoDB: Number of pools: 1
 * 2022-06-02 13:27:16 0 [Note] InnoDB: Using crc32   pclmulqdq instructions
 * 2022-06-02 13:27:16 0 [Note] InnoDB: Using Linux native AIO
 * 2022-06-02 13:27:16 0 [Note] InnoDB: Initializing buffer pool, total size = 4294967296, chunk size = 134217728
 * 2022-06-02 13:27:16 0 [Note] InnoDB: Completed initialization of buffer pool
 * 2022-06-02 13:27:16 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=10162222816,10254949185
 * 2022-06-02 13:27:16 0 [ERROR] InnoDB: Missing FILE_CREATE, FILE_DELETE or FILE_MODIFY before FILE_CHECKPOINT for tablespace 724
 * 2022-06-02 13:27:16 0 [ERROR] InnoDB: Plugin initialization aborted with error Data structure corruption
 * 2022-06-02 13:27:16 0 [Note] InnoDB: Starting shutdown...
 * 2022-06-02 13:27:17 0 [ERROR] Plugin 'InnoDB' init function returned error.
 * 2022-06-02 13:27:17 0 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
 * 2022-06-02 13:27:17 0 [Note] Plugin 'FEEDBACK' is disabled.
 * 2022-06-02 13:27:17 0 [ERROR] Unknown/unsupported storage engine: InnoDB
 * 2022-06-02 13:27:17 0 [ERROR] Aborting

The setup has been working without issues for months now. I restarted my PC, had one Windows Update* and now I cannot start the mariadb anymore.

What is this issue and why did it suddenly happen?


* If it's relevant, this is the Windows update:

Update for Windows Security platform - KB5007651 (Version 1.0.2109.27002)

Update notes


UPDATE

Just did a complete purge/uninstall of everything Ubuntu and WSL on my system.

Then I did a step-by-step installation as guided here: https://ubuntu.com/tutorials/install-ubuntu-on-wsl2-on-windows-11-with-gui-support#1-overview

Then I installed the MariaDB sudo apt install mariadb-server.

When I do the

sudo service mariadb start

I get the [FAIL] again, so it's happening on a fresh installation as well. This time, there are no logs anywhere on the Ubuntu.

For those who asked for the "full crash log"—the two lines in the error.log I had was all there was.

For those who asked, here's my my.cnf:

# The MariaDB configuration file
#
# The MariaDB/MySQL tools read configuration files in the following order:
# 0. "/etc/mysql/my.cnf" symlinks to this file, reason why all the rest is read.
# 1. "/etc/mysql/mariadb.cnf" (this file) to set global defaults,
# 2. "/etc/mysql/conf.d/*.cnf" to set global options.
# 3. "/etc/mysql/mariadb.conf.d/*.cnf" to set MariaDB-only options.
# 4. "~/.my.cnf" to set user-specific options.
#
# If the same option is defined multiple times, the last one will apply.
#
# One can use all long options that the program supports.
# Run program with --help to get a list of available options and with
# --print-defaults to see which it would actually understand and use.
#
# If you are new to MariaDB, check out https://mariadb.com/kb/en/basic-mariadb-articles/

#
# This group is read both by the client and the server
# use it for options that affect everything
#
[client-server]
# Port or socket location where to connect
# port = 3306
socket = /run/mysqld/mysqld.sock

# Import all .cnf files from configuration directory
!includedir /etc/mysql/conf.d/
!includedir /etc/mysql/mariadb.conf.d/

UPDATE#2

I have posted an answer of what worked. In short, this is WSL issue.

CodePudding user response:

The messages indicate that the libaio interface (as opposed to the newer io_uring) is being used. In that interface, at least on the plain Linux kernel, the io_setup() system call may fail, causing a fallback to the simulated asynchronous I/O (innodb_use_native_aio=0).

The recovery failure may be explained by a bug MDEV-28731 that was introduced by MDEV-12353 in MariaDB Server 10.5.

CodePudding user response:

My brother has found a github issue with Ubuntu WSL that produced the same AIO error with MySQL.

Here is what worked for me:

sudo apt remove --purge *mysql*
sudo apt remove --purge *mariadb*
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt autoremove
sudo apt autoclean

Notice my edit in the OP that I did a complete reinstall of WSL and Ubuntu, so it kept happening on the fresh install as well.

Also notice that this completely purged every data I had.

In short, this is WSL issue, not an issue with MariaDB.


The issue on github:

  • Related