MariaDB Error stopping Nextcloud starting

Host: Raspberry Pi3
OS: Raspberry Pi OS ( 64bit)

Compose file

version: "3.9"
services:
  nextcloud:
    image: linuxserver/nextcloud
    container_name: nextcloud
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Europe/London
    ports:
      - 80:80
      - 443:443
    volumes:
      - /home/pi/nfsdocker-volumes/nextcloud/config:/config
      - /home/pi/nfsdocker-volumes/nextcloud/data:/data
    depends_on:
      - mariadb
    restart: unless-stopped
  mariadb:
    image: linuxserver/mariadb
    container_name: mariadb
    environment:
      - PUID=1000
      - PGID=1000
      - MYSQL_ROOT_PASSWORD=$MYSQL_ROOT_PASSWORD
      - TZ=Europe/London
    volumes:
      - /home/pi/nfsdocker-volumes/mariadb:/config
    restart: unless-stopped

Been running great for a good year or so, until i rebooted the nfs server and now the container wont start.

mariadb error

230417 15:48:25 mysqld_safe mysqld from pid file /var/run/mysqld/mysqld.pid ended
230417 15:48:26 mysqld_safe Starting mariadbd daemon with databases from /config/databases
2023-04-17 15:48:26 0 [Note] Starting MariaDB 10.6.12-MariaDB-log source revision 4c79e15cc3716f69c044d4287ad2160da8101cdc as process 787
2023-04-17 15:48:26 0 [Note] Using unique option prefix 'myisam_recover' is error-prone and can break in the future. Please use the full name 'myisam-recover-options' instead.
2023-04-17 15:48:26 0 [Note] InnoDB: Compressed tables use zlib 1.2.13
2023-04-17 15:48:26 0 [Note] InnoDB: Number of pools: 1
2023-04-17 15:48:26 0 [Note] InnoDB: Using ARMv8 crc32 instructions
2023-04-17 15:48:26 0 [Note] mariadbd: O_TMPFILE is not supported on /tmp (disabling future attempts)
2023-04-17 15:48:26 0 [Note] InnoDB: Using Linux native AIO
2023-04-17 15:48:26 0 [Note] InnoDB: Initializing buffer pool, total size = 268435456, chunk size = 134217728
2023-04-17 15:48:27 0 [Note] InnoDB: Completed initialization of buffer pool
2023-04-17 15:48:27 0 [Note] InnoDB: Starting crash recovery from checkpoint LSN=114706006227,114706021914
2023-04-17 15:48:28 0 [Warning] InnoDB: 43008 bytes should have been read at 2048 from (unknown file), but got only 0. Retrying.
2023-04-17 15:48:28 0 [Warning] InnoDB: 43008 bytes should have been read at 2048 from (unknown file), but got only 0. Retrying.
2023-04-17 15:48:28 0 [Warning] InnoDB: 43008 bytes should have been read at 2048 from (unknown file), but got only 0. Retrying.
2023-04-17 15:48:28 0 [Warning] InnoDB: 43008 bytes should have been read at 2048 from (unknown file), but got only 0. Retrying.
2023-04-17 15:48:28 0 [Warning] InnoDB: 43008 bytes should have been read at 2048 from (unknown file), but got only 0. Retrying.
2023-04-17 15:48:28 0 [Warning] InnoDB: 43008 bytes should have been read at 2048 from (unknown file), but got only 0. Retrying.
2023-04-17 15:48:28 0 [Warning] InnoDB: 43008 bytes should have been read at 2048 from (unknown file), but got only 0. Retrying.
2023-04-17 15:48:28 0 [Warning] InnoDB: 43008 bytes should have been read at 2048 from (unknown file), but got only 0. Retrying.
2023-04-17 15:48:28 0 [Warning] InnoDB: 43008 bytes should have been read at 2048 from (unknown file), but got only 0. Retrying.
2023-04-17 15:48:28 0 [Warning] InnoDB: 43008 bytes should have been read at 2048 from (unknown file), but got only 0. Retrying.
2023-04-17 15:48:28 0 [Warning] InnoDB: Retry attempts for reading partial data failed.
2023-04-17 15:48:28 0x7f83cbd870  InnoDB: Assertion failure in file /home/buildozer/aports/main/mariadb/src/mariadb-10.6.12/storage/innobase/log/log0recv.cc line 1218
InnoDB: Failing assertion: err == DB_SUCCESS
InnoDB: We intentionally generate a memory trap.
InnoDB: Submit a detailed bug report to https://jira.mariadb.org/
InnoDB: If you get repeated assertion failures or crashes, even
InnoDB: immediately after the mariadbd startup, there may be
InnoDB: corruption in the InnoDB tablespace. Please refer to
InnoDB: https://mariadb.com/kb/en/library/innodb-recovery-modes/
InnoDB: about forcing recovery

nextcloud error

#39 {main}
Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection refused in /config/www/nextcloud/lib/private/DB/Connection.php:142
Stack trace:
#0 /config/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1531): OC\DB\Connection->connect()
#1 /config/www/nextcloud/3rdparty/doctrine/dbal/src/Connection.php(1029): Doctrine\DBAL\Connection->getWrappedConnection()
#2 /config/www/nextcloud/lib/private/DB/Connection.php(264): Doctrine\DBAL\Connection->executeQuery()
#3 /config/www/nextcloud/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php(345): OC\DB\Connection->executeQuery()
#4 /config/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php(280): Doctrine\DBAL\Query\QueryBuilder->execute()
#5 /config/www/nextcloud/lib/private/AppConfig.php(417): OC\DB\QueryBuilder\QueryBuilder->execute()
#6 /config/www/nextcloud/lib/private/AppConfig.php(183): OC\AppConfig->loadConfigValues()
#7 /config/www/nextcloud/lib/private/AppConfig.php(373): OC\AppConfig->getApps()
#8 /config/www/nextcloud/lib/private/legacy/OC_App.php(976): OC\AppConfig->getValues()
#9 /config/www/nextcloud/lib/private/Server.php(729): OC_App::getAppVersions()
#10 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(171): OC\Server->OC\{closure}()
#11 /config/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#12 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(138): Pimple\Container->offsetGet()
#13 /config/www/nextcloud/lib/private/ServerContainer.php(171): OC\AppFramework\Utility\SimpleContainer->query()
#14 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(65): OC\ServerContainer->query()
#15 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(193): OC\AppFramework\Utility\SimpleContainer->get()
#16 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(171): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#17 /config/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#18 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(138): Pimple\Container->offsetGet()
#19 /config/www/nextcloud/lib/private/ServerContainer.php(171): OC\AppFramework\Utility\SimpleContainer->query()
#20 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(65): OC\ServerContainer->query()
#21 /config/www/nextcloud/lib/private/Server.php(1108): OC\AppFramework\Utility\SimpleContainer->get()
#22 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(171): OC\Server->OC\{closure}()
#23 /config/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#24 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(138): Pimple\Container->offsetGet()
#25 /config/www/nextcloud/lib/private/ServerContainer.php(171): OC\AppFramework\Utility\SimpleContainer->query()
#26 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(65): OC\ServerContainer->query()
#27 /config/www/nextcloud/lib/private/Server.php(2063): OC\AppFramework\Utility\SimpleContainer->get()
#28 /config/www/nextcloud/lib/private/Files/View.php(119): OC\Server->getLockingProvider()
#29 /config/www/nextcloud/lib/private/Server.php(464): OC\Files\View->__construct()
#30 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(171): OC\Server->OC\{closure}()
#31 /config/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}()
#32 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(138): Pimple\Container->offsetGet()
#33 /config/www/nextcloud/lib/private/ServerContainer.php(171): OC\AppFramework\Utility\SimpleContainer->query()
#34 /config/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(65): OC\ServerContainer->query()
#35 /config/www/nextcloud/lib/private/Server.php(1465): OC\AppFramework\Utility\SimpleContainer->get()
#36 /config/www/nextcloud/lib/base.php(623): OC\Server->boot()
#37 /config/www/nextcloud/lib/base.php(1164): OC::init()
#38 /config/www/nextcloud/cron.php(43): require_once('...')
#39 {main}

I fear the DB is corrupt and going to have to start all over. Luckily I mount inside nextcloud digitalocean space ( S3 compatible storage ) for all my important stuff.

Just wondering if anyone knows if I can save my nextcloud installation?

Do you have backups of your mariadb databases?

No, but I think I have managed to start again and use the files I had locally to recreate what I had set up.

Excellent, and now spend some time setting up backup routines.

1 Like