After update to 20.0.2: no cron running and no connection to DB anymore

Hello community,
two weeks ago i installed update 20.0.2.
I’m pretty sure that i did it in the manner described by the documentation.
Since then no cronjob ran (says the web interface), and connection to the database isn’t possible anymore (says the log in the web interface)
OS is Ubuntu 20.04 TLS.
Following syslog the cronjob is executed, e.g.:
Dec 14 00:05:01 nc-mcd CRON[1812]: (www-data) CMD (php -f /var/www/nextcloud/cron.php)
This is what the log in the web interface says:
|Error|cron|Doctrine\DBAL\DBALException: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [2002] Permission denied

  1. /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php - line 1449:OC\DB\Connection->connect()
  2. /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php - line 892:Doctrine\DBAL\Connection->getWrappedConnection()
  3. /var/www/nextcloud/lib/private/DB/Connection.php - line 202:Doctrine\DBAL\Connection->executeQuery()
  4. /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php - line 206:OC\DB\Connection->executeQuery()
  5. /var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php - line 217:Doctrine\DBAL\Query\QueryBuilder->execute()
  6. /var/www/nextcloud/lib/private/AppConfig.php - line 345:OC\DB\QueryBuilder\QueryBuilder->execute()
  7. /var/www/nextcloud/lib/private/AppConfig.php - line 110:OC\AppConfig->loadConfigValues()
  8. /var/www/nextcloud/lib/private/AppConfig.php - line 301:OC\AppConfig->getApps()
  9. /var/www/nextcloud/lib/private/legacy/OC_App.php - line 949:OC\AppConfig->getValues()
  10. /var/www/nextcloud/lib/private/Server.php - line 668:OC_App::getAppVersions()
  11. /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php - line 155:OC\Server->OC{closure}("*** sensiti … *")
  12. /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php - line 118:OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}("*** sensiti … *")
  13. /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php - line 122:Pimple\Container->offsetGet()
  14. /var/www/nextcloud/lib/private/ServerContainer.php - line 156:OC\AppFramework\Utility\SimpleContainer->query()
  15. /var/www/nextcloud/lib/private/Server.php - line 1677:OC\ServerContainer->query()
  16. /var/www/nextcloud/lib/private/Server.php - line 1017:OC\Server->getMemCacheFactory()
  17. /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php - line 155:OC\Server->OC{closure}("*** sensiti … *")
  18. /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php - line 118:OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}("*** sensiti … *")
  19. /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php - line 122:Pimple\Container->offsetGet()
  20. /var/www/nextcloud/lib/private/ServerContainer.php - line 156:OC\AppFramework\Utility\SimpleContainer->query()
  21. /var/www/nextcloud/lib/private/Server.php - line 1977:OC\ServerContainer->query()
  22. /var/www/nextcloud/lib/private/Files/View.php - line 118:OC\Server->getLockingProvider()
  23. /var/www/nextcloud/lib/private/Server.php - line 395:OC\Files\View->__construct()
  24. /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php - line 155:OC\Server->OC{closure}("*** sensiti … *")
  25. /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php - line 118:OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}("*** sensiti … *")
  26. /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php - line 122:Pimple\Container->offsetGet()
  27. /var/www/nextcloud/lib/private/ServerContainer.php - line 156:OC\AppFramework\Utility\SimpleContainer->query()
  28. /var/www/nextcloud/lib/private/Server.php - line 1324:OC\ServerContainer->query()
  29. /var/www/nextcloud/lib/base.php - line 595:OC\Server->boot()
  30. /var/www/nextcloud/lib/base.php - line 1091:OC::init()
  31. /var/www/nextcloud/cron.php - line 42:require_once("/var/www/ne … p")|
    | — | — |
    Using the credentials in the config.php i can connect manually to the database.
    I tried to upgrade to 20.0.3, but it throws a lot of errors:
    root@nc-mcd:/var/www/nextcloud# sudo -u www-data php occ maintenance:mode --on
    An unhandled exception has been thrown:
    Doctrine\DBAL\DBALException: Failed to connect to the database: An exception occurred in driver: SQLSTATE[HY000] [2002] Permission denied in /var/www/nextcloud/lib/private/DB/Connection.php:72
    Stack trace:
    #0 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(1449): OC\DB\Connection->connect()
    #1 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(892): Doctrine\DBAL\Connection->getWrappedConnection()
    #2 /var/www/nextcloud/lib/private/DB/Connection.php(202): Doctrine\DBAL\Connection->executeQuery()
    #3 /var/www/nextcloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php(206): OC\DB\Connection->executeQuery()
    #4 /var/www/nextcloud/lib/private/DB/QueryBuilder/QueryBuilder.php(217): Doctrine\DBAL\Query\QueryBuilder->execute()
    #5 /var/www/nextcloud/lib/private/AppConfig.php(345): OC\DB\QueryBuilder\QueryBuilder->execute()
    #6 /var/www/nextcloud/lib/private/AppConfig.php(110): OC\AppConfig->loadConfigValues()
    #7 /var/www/nextcloud/lib/private/AppConfig.php(301): OC\AppConfig->getApps()
    #8 /var/www/nextcloud/lib/private/legacy/OC_App.php(949): OC\AppConfig->getValues()
    #9 /var/www/nextcloud/lib/private/Server.php(668): OC_App::getAppVersions()
    #10 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(155): OC\Server->OC{closure}()
    #11 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}()
    #12 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(122): Pimple\Container->offsetGet()
    #13 /var/www/nextcloud/lib/private/ServerContainer.php(156): OC\AppFramework\Utility\SimpleContainer->query()
    #14 /var/www/nextcloud/lib/private/Server.php(1677): OC\ServerContainer->query()
    #15 /var/www/nextcloud/lib/private/Server.php(1017): OC\Server->getMemCacheFactory()
    #16 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(155): OC\Server->OC{closure}()
    #17 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}()
    #18 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(122): Pimple\Container->offsetGet()
    #19 /var/www/nextcloud/lib/private/ServerContainer.php(156): OC\AppFramework\Utility\SimpleContainer->query()
    #20 /var/www/nextcloud/lib/private/Server.php(1977): OC\ServerContainer->query()
    #21 /var/www/nextcloud/lib/private/Files/View.php(118): OC\Server->getLockingProvider()
    #22 /var/www/nextcloud/lib/private/Server.php(395): OC\Files\View->__construct()
    #23 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(155): OC\Server->OC{closure}()
    #24 /var/www/nextcloud/3rdparty/pimple/pimple/src/Pimple/Container.php(118): OC\AppFramework\Utility\SimpleContainer->OC\AppFramework\Utility{closure}()
    #25 /var/www/nextcloud/lib/private/AppFramework/Utility/SimpleContainer.php(122): Pimple\Container->offsetGet()
    #26 /var/www/nextcloud/lib/private/ServerContainer.php(156): OC\AppFramework\Utility\SimpleContainer->query()
    #27 /var/www/nextcloud/lib/private/Server.php(1324): OC\ServerContainer->query()
    #28 /var/www/nextcloud/lib/base.php(595): OC\Server->boot()
    #29 /var/www/nextcloud/lib/base.php(1091): OC::init()
    #30 /var/www/nextcloud/console.php(49): require_once(’/var/www/nextcl…’)
    #31 /var/www/nextcloud/occ(11): require_once(’/var/www/nextcl…’)
    #32 {main}root@nc-mcd:/var/www/nextcloud# history|less

Thankful for any help.

Bernd

Unfortunately you haven’t posted your Nextcloud configuration file, so that cannot see how your database access has been configured and cannot give you any recommendation what the root cause of the problem might be.

No problem:
root@nc-mcd:/etc/mysql# less /var/www/nextcloud/config/config.php
$CONFIG = array (
‘passwordsalt’ => ‘’,
‘secret’ => ‘*******************************’,
‘trusted_domains’ =>
array (
0 => ‘localhost’,
1 => ‘nc-mcd.helmholtz-muenchen.de’,
2 => '
’,
3 => '
’,
),
‘datadirectory’ => '/
’,
‘dbtype’ => ‘mysql’,
‘version’ => ‘20.0.2.2’,
‘overwrite.cli.url’ => ‘https://nc-mcd.helmholtz-muenchen.de/nextcloud’,
‘htaccess.RewriteBase’ => ‘/nextcloud’,
‘dbname’ => ‘nextcloud’,
‘dbhost’ => ‘localhost’,
‘dbport’ => ‘’,
‘dbtableprefix’ => ‘oc_’,
‘mysql.utf8mb4’ => true,
‘dbuser’ => '
’,
‘dbpassword’ => '
****’,
‘default_language’ => ‘en’,
‘installed’ => true,
‘instanceid’ => ‘ocrtjrvuvmrd’,
‘onlyoffice’ =>
array (
‘verify_peer_off’ => true,
),

);
(END)

Afaik “localhost” always means that a socket connection is used to access the database server. Due to the “SQLSTATE[HY000] [2002] Permission denied” message you should make sure that the web server user, e.g. “wwwrun”, is allowed to access the socket and the path to the socket.

Good idea, but unfortunately not the reason:
srwxrwxrwx 1 mysql mysql 0 Dec 14 13:53 mysqld.sock=

Bernd

Despite web interface says that the last cron job ran two weeks ago,
/var/log/syslog says they run:

Dec 14 15:55:01 nc-mcd CRON[4569]: (www-data) CMD (php -f /var/www/nextcloud/cron.php)
Dec 14 16:00:01 nc-mcd CRON[4629]: (www-data) CMD (php -f /var/www/nextcloud/cron.php)
Dec 14 16:05:01 nc-mcd CRON[4677]: (www-data) CMD (php -f /var/www/nextcloud/cron.php)

Bernd

I have 31 files mentioned in the context that the db connection didn’t work.
In which one happens the error ? 0? 30?

SOLVED.
I had an AppArmor-Profil running in complain mode of /usr/bin/php7.4.
Strange, complain mode should just log and don’t refuse any action …
Deleting the profile and everything is fine.

Bernd

1 Like