Nextcloud version (eg, 12.0.2): 15.0.7
Operating system and version (eg, Ubuntu 17.04): Debian 9
Apache or nginx version (eg, Apache 2.4.25): Server version: Apache/2.4.25 (Debian)
PHP version (eg, 7.1): PHP 7.0.33-0+deb9u3 (cli) (built: Mar 8 2019 10:01:24) ( NTS )
MariaDB version: mariadb Ver 15.1 Distrib 10.1.37-MariaDB, for debian-linux-gnu (x86_64) using readline 5.2
The issue you are facing:
When I try to follow tutorial here: https://docs.nextcloud.com/server/15/admin_manual/configuration_database/mysql_4byte_support.html#mariadb-10-2-or-earlier I get this error when trying to do the maintenance repair. Other than this the server seems to work fine.
root@server:/var/www/cloud# sudo -u www-data php occ maintenance:repair
Nextcloud is in maintenance mode - no apps have been loaded
Failed to load repair step for dav: Repair step 'OCA\DAV\Migration\FixBirthdayCalendarComponent' is unknown
Failed to load repair step for dav: Repair step 'OCA\DAV\Migration\CalDAVRemoveEmptyValue' is unknown
Failed to load repair step for dav: Repair step 'OCA\DAV\Migration\BuildCalendarSearchIndex' is unknown
Failed to load repair step for dav: Repair step 'OCA\DAV\Migration\RefreshWebcalJobRegistrar' is unknown
Failed to load repair step for dav: Repair step 'OCA\DAV\Migration\RemoveClassifiedEventActivity' is unknown
Failed to load repair step for encryption: Repair step 'OCA\Encryption\Migration\SetMasterKeyStatus' is unknown
Failed to load repair step for files_sharing: Repair step 'OCA\Files_Sharing\Migration\OwncloudGuestShareType' is unknown
Failed to load repair step for files_sharing: Repair step 'OCA\Files_Sharing\Migration\SetPasswordColumn' is unknown
Failed to load repair step for oauth2: Repair step 'OCA\OAuth2\Migration\SetTokenExpiration' is unknown
Failed to load repair step for twofactor_backupcodes: Repair step 'OCA\TwoFactorBackupCodes\Migration\CheckBackupCodes' is unknown
- Repair MySQL collation
- Change row format for oc_addressbooks ...
- Change collation for oc_addressbooks ...
In AbstractMySQLDriver.php line 115:
An exception occurred while executing 'ALTER TABLE `oc_addressbooks` CONVERT TO CHARACTER SET u
tf8mb4 COLLATE utf8mb4_bin;':
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key len
gth is 767 bytes
In PDOStatement.php line 107:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key len
gth is 767 bytes
In PDOStatement.php line 105:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key len
gth is 767 bytes
maintenance:repair [--include-expensive]
Is this the first time you’ve seen this error? (Y/N): Y
Steps to replicate it:
- Setup debian LAMP
- Install nextcloud
- Follow instructions on link above
The output of your Nextcloud log in Admin > Logging:
[core] Error: Doctrine\DBAL\Exception\DriverException: An exception occurred while executing 'SELECT `uid`, `displayname` FROM `oc_users` `u` LEFT JOIN `oc_preferences` `p` ON (`userid` = `uid`) AND (`appid` = 'settings') AND (`configkey` = 'email') WHERE (`uid` COLLATE utf8mb4_general_ci LIKE ?) OR (`displayname` COLLATE utf8mb4_general_ci LIKE ?) OR (`configvalue` COLLATE utf8mb4_general_ci LIKE ?) ORDER BY `uid_lower` ASC LIMIT 500 OFFSET 500' with params ["%%", "%%", "%%"]:
SQLSTATE[42000]: Syntax error or access violation: 1253 COLLATION 'utf8mb4_general_ci' is not valid for CHARACTER SET 'utf8' at <<closure>>
0. /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/DBALException.php line 128
convertException("An exception oc ... '", Doctrine\DBAL\Dr ... ]})
1. /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php line 855
driverExceptionDuringQuery(Doctrine\DBAL\Driver\PDOMySql\Driver {}, Doctrine\DBAL\Dr ... ]}, "SELECT `uid`, ` ... 0", {1: "%%",2: "%%",3: "%%"})
2. /var/www/cloud/lib/private/DB/Connection.php line 195
executeQuery("SELECT `uid`, ` ... 0", {1: "%%",2: "%%",3: "%%"}, {1: 2,2: 2,3: 2}, null)
3. /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php line 206
executeQuery("SELECT `uid`, ` ... 0", {1: "%%",2: "%%",3: "%%"}, {1: 2,2: 2,3: 2})
4. /var/www/cloud/lib/private/DB/QueryBuilder/QueryBuilder.php line 214
execute()
5. /var/www/cloud/lib/private/User/Database.php line 282
execute()
6. /var/www/cloud/lib/private/User/Database.php line 383
getDisplayNames("", 500, "500")
7. /var/www/cloud/lib/private/User/Manager.php line 229
getUsers("", 500, "500")
8. /var/www/cloud/apps/files/lib/BackgroundJob/ScanFiles.php line 101
search("", 500, "500")
9. /var/www/cloud/lib/private/BackgroundJob/Job.php line 61
run(null)
10. /var/www/cloud/lib/private/BackgroundJob/TimedJob.php line 55
execute(OC\BackgroundJob\JobList {}, OC\Log {})
11. /var/www/cloud/cron.php line 146
execute(OC\BackgroundJob\JobList {}, OC\Log {})
GET /cron.php
from OOF at 2019-04-14T16:42:59+00:00
GET /index.php/apps/logreader/poll?lastReqId=OOF
from OOF by USER at 2019-04-14T16:30:25+00:00
The output of your config.php file in /path/to/nextcloud
(make sure you remove any identifiable information!):
<?php
$CONFIG = array (
'instanceid' => 'OOF',
'passwordsalt' => 'OOF',
'secret' => 'OOF',
'trusted_domains' =>
array (
0 => 'OOF',
),
'datadirectory' => '/var/nextcloud',
'dbtype' => 'mysql',
'version' => '15.0.7.0',
'overwrite.cli.url' => 'OOF',
'dbname' => 'nextcloud',
'dbhost' => 'localhost',
'dbport' => '',
'dbtableprefix' => 'oc_',
'dbuser' => 'nextcloud',
'dbpassword' => 'OOF',
'installed' => true,
'mysql.utf8mb4' => true,
'maintenance' => false,
);
The output of your Apache/nginx/system log in /var/log/____
:
[Sun Apr 14 08:43:50.062293 2019] [:error] [pid 6693] [client OOF] PHP Fatal error: Uncaught PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction in /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:105\nStack trace:\n#0 /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(105): PDOStatement->execute(NULL)\n#1 /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(1006): Doctrine\\DBAL\\Driver\\PDOStatement->execute()\n#2 /var/www/cloud/lib/private/DB/Connection.php(216): Doctrine\\DBAL\\Connection->executeUpdate('UPDATE `oc_file...', Array, Array)\n#3 /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php(208): OC\\DB\\Connection->executeUpdate('UPDATE `oc_file...', Array, Array)\n#4 /var/www/cloud/lib/private/DB/QueryBuilder/QueryBuilder.php(214): Doctrine\\DBAL\\Query\\QueryBuilder->execute()\n#5 /var/www/cloud/lib/private/Lock/DBLockingProvider.php(321): OC\\DB\\QueryBuilder\\QueryBuilder->execute()\n#6 [internal function]: OC\\Lock\\DBLocking in /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php on line 115
[Sun Apr 14 08:43:50.270666 2019] [:error] [pid 6897] [client OOF] PHP Fatal error: Uncaught PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction in /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:105\nStack trace:\n#0 /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(105): PDOStatement->execute(NULL)\n#1 /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(1006): Doctrine\\DBAL\\Driver\\PDOStatement->execute()\n#2 /var/www/cloud/lib/private/DB/Connection.php(216): Doctrine\\DBAL\\Connection->executeUpdate('UPDATE `oc_file...', Array, Array)\n#3 /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php(208): OC\\DB\\Connection->executeUpdate('UPDATE `oc_file...', Array, Array)\n#4 /var/www/cloud/lib/private/DB/QueryBuilder/QueryBuilder.php(214): Doctrine\\DBAL\\Query\\QueryBuilder->execute()\n#5 /var/www/cloud/lib/private/Lock/DBLockingProvider.php(321): OC\\DB\\QueryBuilder\\QueryBuilder->execute()\n#6 [internal function]: OC\\Lock\\DBLocking in /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php on line 115
[Sun Apr 14 09:29:10.479816 2019] [mpm_prefork:notice] [pid 4028] AH00169: caught SIGTERM, shutting down
[Sun Apr 14 09:29:10.941036 2019] [mpm_prefork:notice] [pid 9377] AH00163: Apache/2.4.25 (Debian) OpenSSL/1.0.2r configured -- resuming normal operations
[Sun Apr 14 09:29:10.941061 2019] [core:notice] [pid 9377] AH00094: Command line: '/usr/sbin/apache2'
[Sun Apr 14 09:30:12.351702 2019] [mpm_prefork:notice] [pid 9377] AH00169: caught SIGTERM, shutting down
[Sun Apr 14 09:30:12.610334 2019] [mpm_prefork:notice] [pid 9431] AH00163: Apache/2.4.25 (Debian) OpenSSL/1.0.2r configured -- resuming normal operations
[Sun Apr 14 09:30:12.610394 2019] [core:notice] [pid 9431] AH00094: Command line: '/usr/sbin/apache2'
[Sun Apr 14 10:33:02.763574 2019] [:error] [pid 9440] [client OOF] PHP Fatal error: Uncaught PDOException: SQLSTATE[40001]: Serialization failure: 1213 Deadlock found when trying to get lock; try restarting transaction in /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php:105\nStack trace:\n#0 /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/PDOStatement.php(105): PDOStatement->execute(NULL)\n#1 /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Connection.php(1006): Doctrine\\DBAL\\Driver\\PDOStatement->execute()\n#2 /var/www/cloud/lib/private/DB/Connection.php(216): Doctrine\\DBAL\\Connection->executeUpdate('UPDATE `oc_file...', Array, Array)\n#3 /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Query/QueryBuilder.php(208): OC\\DB\\Connection->executeUpdate('UPDATE `oc_file...', Array, Array)\n#4 /var/www/cloud/lib/private/DB/QueryBuilder/QueryBuilder.php(214): Doctrine\\DBAL\\Query\\QueryBuilder->execute()\n#5 /var/www/cloud/lib/private/Lock/DBLockingProvider.php(321): OC\\DB\\QueryBuilder\\QueryBuilder->execute()\n#6 [internal function]: OC\\Lock\\DBLocking in /var/www/cloud/3rdparty/doctrine/dbal/lib/Doctrine/DBAL/Driver/AbstractMySQLDriver.php on line 115