Nectcloud 18.04혹은 그이전 버젼이더라도 업그레이드 하다가 mariaDB 특정 테이블 관련해서 아래와 같은 오류 발생시에는...
[오류메시지]
An exception occurred while executing ‘ALTER TABLE [TABLE_NAME] CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;’:
SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes
아래와 같이 MariaDB의 설정을 해주어야 한다
[해결책]
$ sudo mysql -u root -p
MariaDB [(none)]> use nextcloud;
MariaDB [nextcloud]> set global innodb_large_prefix=on;
MariaDB [nextcloud]> set global innodb_file_format=Barracuda;
[Nextcloud 업그레이드 하기]
$ sudo -u www-data php occ maintenance:repair
Doctrine\DBAL\Exception[\DriverException: An exception occurred while executing 'ALTER TABLE `oc_addressbooks` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;': SQLSTATE[42000]: Syntax error or access violation: 1071 Specified key was too long; max key length is 767 bytes