Hello all,
I have a problem similar to this one, only topical and not with Maria DB:
I have done a system update: Ubuntu 21.10. to 22.04.1 LTS.
After the first reboot, the Nextcloud was still accessible in the browser. Therefore, I exclude the update as a source of error.
Afterwards I updated Docker manually:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu Jammy stable"
sudo apt -y install docker-ce
sudo curl -L "https://github.com/docker/compose/releases/download/v2.9.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
And updated my containers:
cd /media/cloud/nextcloud
docker-compose pull
docker-compose stop
docker-compose rm
docker-compose up -d
Since that time the mysql containers could not start and are in a constant restart loop.
$ docker-compose ps
NAME COMMAND SERVICE STATUS PORTS
nextcloud "/entrypoint.sh apac..." nextcloud running 127.0.0.1:8080->80/tcp
nextcloud-mysql "docker-entrypoint.s..." mysql restarting
nextcloud-redis "docker-entrypoint.s..." redis running 6379/tcp
docker-compose.yml
version: '3.7'
networks:
nextcloud:
services:
nextcloud:
image: nextcloud
container_name: nextcloud
networks:
- nextcloud
ports:
- "127.0.0.1:8080:80"
volumes:
- ${NEXTCLOUD_ROOT}/html:/var/www/html
- ${NEXTCLOUD_ROOT}/data:/srv/nextcloud/data
extra_hosts:
- "${NEXTCLOUD_FQDN}:${NEXTCLOUD_IPADDRESS}"
- "${COLLABORA_FQDN}:${NEXTCLOUD_IPADDRESS}"
depends_on:
- mysql
- redis
environment:
- 'NEXTCLOUD_TRUSTED_DOMAINS='${NEXTCLOUD_FQDN}'
- NEXTCLOUD_DATA_DIR=/srv/nextcloud/data
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_HOST=nextcloud-mysql
- REDIS_HOST=nextcloud-redis
restart: unless-stopped
mysql:
image: mysql
container_name: nextcloud-mysql
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
restart: unless-stopped
volumes:
- ${NEXTCLOUD_ROOT}/mysql:/var/lib/mysql
- ${NEXTCLOUD_ROOT}/mysql-log:/var/log/mysql
environment:
- MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
- MYSQL_PASSWORD=${MYSQL_PASSWORD}
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
networks:
- nextcloud
redis:
image: redis
container_name: nextcloud-redis
networks:
- nextcloud
restart: unless-stopped
# coturn:
# image: instrumentisto/coturn
# container_name: nextcloud-coturn
# restart: unless-stopped
# ports:
# - "3478:3478/tcp"
# - "3478:3478/udp"
# networks:
# - nextcloud
# command:
# - -n
# --log-file=stdout
# - --min-port=49160
# --max-port=49200
# - --realm=${NEXTCLOUD_FQDN}
# - --use-auth-secret
# - --static-auth-secret=${COTURN_SECRET}
# collabora:
# image: collabora/code
# container_name: nextcloud-collabora
# restart: unless-stopped
# networks:
# nextcloud
# ports:
# - "127.0.0.1:9980:9980"
# extra_hosts:
# - "${NEXTCLOUD_FQDN}:${NEXTCLOUD_IPADDRESS}"
# - "${COLLABORA_FQDN}:${NEXTCLOUD_IPADDRESS}"
# environment:
# - 'domain=${NEXTCLOUD_FQDN}'
# - 'dictionaries=en en'
# cap_add:
# - MKNOD
# tty: true
I have commented out coturn and collabora, since they are not absolutely necessary (and have never been actively used).
In the “mysql-log” folder there is no log at all, the path was created but is empty.
docker-compose logs -f
nextcloud-mysql | 2022-08-17 09:09:45+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.30-1.el8 started.
nextcloud-mysql | 2022-08-17 09:09:45+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
nextcloud-mysql | 2022-08-17 09:09:45+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.30-1.el8 started.
nextcloud-mysql | '/var/lib/mysql/mysql.sock' -> '/var/run/mysqld/mysqld.sock'
nextcloud-mysql | 2022-08-17T09:09:45.363380Z 0 [Warning] [MY-011068] [Server] The syntax '--skip-host-cache' is deprecated and will be removed in a future release. Please use SET GLOBAL host_cache_size=0 instead.
nextcloud-mysql | 2022-08-17T09:09:45.364235Z 0 [System] [MY-010116] [Server] /usr/sbin/mysqld (mysqld 8.0.30) starting as process 1
nextcloud-mysql | 2022-08-17T09:09:45.368116Z 1 [System] [MY-013576] [InnoDB] InnoDB initialization has started.
nextcloud-mysql | 2022-08-17T09:09:45.416683Z 1 [ERROR] [MY-012526] [InnoDB] Upgrade is not supported after a crash or shutdown with innodb_fast_shutdown = 2. This redo log was created with MySQL 8.0.27, and it appears logically non empty. Please follow the instructions at http://dev.mysql.com/doc/refman/8.0/en/upgrading.html
nextcloud-mysql | 2022-08-17T09:09:45.416714Z 1 [ERROR] [MY-012930] [InnoDB] Plugin initialization aborted with error Generic error.
nextcloud-mysql | 2022-08-17T09:09:45.885466Z 1 [ERROR] [MY-010334] [Server] Failed to initialize DD Storage Engine
nextcloud-mysql | 2022-08-17T09:09:45.885594Z 0 [ERROR] [MY-010020] [Server] Data Dictionary initialization failed.
nextcloud-mysql | 2022-08-17T09:09:45.885624Z 0 [ERROR] [MY-010119] [Server] Aborting
nextcloud-mysql | 2022-08-17T09:09:45.886024Z 0 [System] [MY-010910] [Server] /usr/sbin/mysqld: Shutdown complete (mysqld 8.0.30) MySQL Community Server - GPL.
nextcloud-mysql exited with code 1
All software is uptodate.
How do I fix this error?
— add edit:
occ
$ occ
An unhandled exception has been thrown:
Doctrine\DBAL\Exception: Failed to connect to the database: An exception occurred in the driver: SQLSTATE[HY000] [2002] Connection timed out in /var/www/html/lib/private/DB/Connection.php:139
Stack trace:
#0 /var/www/html/3rdparty/doctrine/dbal/src/Connection.php(1519): OC\DB\Connection->connect()
#1 /var/www/html/3rdparty/doctrine/dbal/src/Connection.php(1041): Doctrine\DBAL\Connection->getWrappedConnection()
#2 /var/www/html/lib/private/DB/Connection.php(261): Doctrine\DBAL\Connection->executeQuery('SELECT * FROM `...', Array, Array, NULL)
#3 /var/www/html/3rdparty/doctrine/dbal/src/Query/QueryBuilder.php(345): OC\DB\Connection->executeQuery('SELECT * FROM `...', Array, Array)
#4 /var/www/html/lib/private/DB/QueryBuilder/QueryBuilder.php(281): Doctrine\DBAL\Query\QueryBuilder->execute()
#5 /var/www/html/lib/private/AppConfig.php(411): OC\DB\QueryBuilder\QueryBuilder->execute()
#6 /var/www/html/lib/private/AppConfig.php(176): OC\AppConfig->loadConfigValues()
#7 /var/www/html/lib/private/AppConfig.php(367): OC\AppConfig->getApps()
#8 /var/www/html/lib/private/legacy/OC_App.php(983): OC\AppConfig->getValues(false, 'installed_versi...')
#9 /var/www/html/lib/private/Server.php(713): OC_App::getAppVersions()
#10 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(162): OC\Server->OC\{closure}(Object(OC\Server))
#11 /var/www/html/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(Pimple\Container))
#12 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(129): Pimple\Container->offsetGet('OC\\Memcache\\Fac...')
#13 /var/www/html/lib/private/ServerContainer.php(136): OC\AppFramework\Utility\SimpleContainer->query('OC\\Memcache\\Fac...', false)
#14 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(57): OC\ServerContainer->query('OC\\Memcache\\Fac...')
#15 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(184): OC\AppFramework\Utility\SimpleContainer->get('OC\\Memcache\\Fac...')
#16 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(162): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(OC\Server))
#17 /var/www/html/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(Pimple\Container))
#18 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(129): Pimple\Container->offsetGet('OCP\\ICacheFacto...')
#19 /var/www/html/lib/private/ServerContainer.php(136): OC\AppFramework\Utility\SimpleContainer->query('OCP\\ICacheFacto...', false)
#20 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(57): OC\ServerContainer->query('OCP\\ICacheFacto...')
#21 /var/www/html/lib/private/Server.php(1105): OC\AppFramework\Utility\SimpleContainer->get('OCP\\ICacheFacto...')
#22 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(162): OC\Server->OC\{closure}(Object(OC\Server))
#23 /var/www/html/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(Pimple\Container))
#24 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(129): Pimple\Container->offsetGet('OCP\\Lock\\ILocki...')
#25 /var/www/html/lib/private/ServerContainer.php(136): OC\AppFramework\Utility\SimpleContainer->query('OCP\\Lock\\ILocki...', false)
#26 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(57): OC\ServerContainer->query('OCP\\Lock\\ILocki...')
#27 /var/www/html/lib/private/Server.php(2082): OC\AppFramework\Utility\SimpleContainer->get('OCP\\Lock\\ILocki...')
#28 /var/www/html/lib/private/Files/View.php(122): OC\Server->getLockingProvider()
#29 /var/www/html/lib/private/Server.php(454): OC\Files\View->__construct()
#30 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(162): OC\Server->OC\{closure}(Object(OC\Server))
#31 /var/www/html/3rdparty/pimple/pimple/src/Pimple/Container.php(122): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility\{closure}(Object(Pimple\Container))
#32 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(129): Pimple\Container->offsetGet('OC\\Files\\Node\\H...')
#33 /var/www/html/lib/private/ServerContainer.php(136): OC\AppFramework\Utility\SimpleContainer->query('OC\\Files\\Node\\H...', false)
#34 /var/www/html/lib/private/AppFramework/Utility/SimpleContainer.php(57): OC\ServerContainer->query('OC\\Files\\Node\\H...')
#35 /var/www/html/lib/private/Server.php(1445): OC\AppFramework\Utility\SimpleContainer->get('OC\\Files\\Node\\H...')
#36 /var/www/html/lib/base.php(602): OC\Server->boot()
#37 /var/www/html/lib/base.php(1104): OC::init()
#38 /var/www/html/console.php(48): require_once('/var/www/html/l...')
#39 /var/www/html/occ(11): require_once('/var/www/html/c...')
#40 {main}