海天无影's Blog

NextCloud新版本18.0.1提示数据库丢失索引的解决方法

/ 994阅 / 0评 / 4

今天在外网服务器上安装了Nextcloud最新版本18.0.1,到最后有个数据库丢失索引的错误提示:

数据库丢失了一些索引。由于给大的数据表添加索引会耗费一些时间,因此程序没有自动对其进行修复。您可以在 Nextcloud 运行时通过命令行手动执行 “occ db:add-missing-indices” 命令修复丢失的索引。索引修复后会大大提高相应表的查询速度。

在数据表 “oc_calendarobjects_props” 中无法找到索引 “calendarobject_calid_index”。
在数据表 “oc_schedulingobjects” 中无法找到索引 “schedulobj_principuri_index”。
数据库中的一些列由于进行长整型转换而缺失。由于在较大的数据表重改变列类型会耗费一些时间,因此程序没有自动对其更改。您可以通过命令行手动执行 “occ db:convert-filecache-bigint” 命令以应用挂起的更改。该操作需要当整个实例变为离线状态后执行。查阅相关文档以获得更多详情。

mounts.storage_id
mounts.root_id
mounts.mount_id

回来发现不单是新安装的nextcloud,之前使用自己电脑搭建的服务器升级到18.0.1后也会提示数据库丢失索引。

解决方法在提示中也给出了命令,可以手动执行 occ db:add-missing-indices occ db:convert-filecache-bigint ,单是如何执行这个命令,海天一开始也是找不着北,需要使用命令行使用php来执行。

具体操作如下:

1、先进入Nextcloud的网站目录,例如

cd /www/wwwroot/webs

2、然后分别执行命令:

sudo -u www php occ db:convert-filecache-bigint

sudo -u www php occ db:add-missing-indices

发表评论

电子邮件地址不会被公开。