NextCloud升级问题occ db:add-missing-indices和occ db:convert-filecache-bigint

3.22K 浏览
0

升级了NextCloud后,在后台检查提示有occ db:add-missing-indices和occ db:convert-filecache-bigint问题,如下:

您的每项配置对于实例的安全性和性能都至关重要。 为了帮助您,我们正在做一些自动检查。 有关详细信息,请参阅文档链接。

关于您的设置有一些警告。
  • 数据库丢失了一些索引。由于给大的数据表添加索引会耗费一些时间,因此程序没有自动对其进行修复。您可以在 Nextcloud 运行时通过命令行手动执行 “occ db:add-missing-indices” 命令修复丢失的索引。索引修复后会大大提高相应表的查询速度。
    • 在数据表 “oc_cards” 中无法找到索引 “cards_abiduri”。
  • 数据库缺少一些主键。由于在大型数据表上添加主键可能需要一些时间,因此程序没有自动添加。通过运行 “occ db:add-missing-primary-keys”,这些缺失的主键可以在实例持续运行时手动添加。
    • 在数据表 “oc_federated_reshares” 中缺少主键。
    • 在数据表 “oc_systemtag_object_mapping” 中缺少主键。
    • 在数据表 “oc_comments_read_markers” 中缺少主键。
    • 在数据表 “oc_collres_resources” 中缺少主键。
    • 在数据表 “oc_collres_accesscache” 中缺少主键。
    • 在数据表 “oc_filecache_extended” 中缺少主键。
  • 数据库中的一些列由于进行长整型转换而缺失。由于在较大的数据表重改变列类型会耗费一些时间,因此程序没有自动对其更改。您可以通过命令行手动执行 “occ db:convert-filecache-bigint” 命令以应用挂起的更改。该操作需要当整个实例变为离线状态后执行。查阅相关文档以获得更多详情。
    • federated_reshares.share_id
    • share_external.id
    • share_external.parent

请仔细检查安装指南↗,并检查日志中是否有错误或警告。

官方给出的命令是:

sudo -u www-data(或者是www) php occ db:add-missing-indices

会提示PHP版本太低的问题:

This version of Nextcloud requires at least PHP 7.2<br/>You are currently running 7.0.33-0ubuntu0.16.04.16. Please update your PHP version

实际上是PHP默认的版本太低的原因,解决的办法用命令找出你的PHP路径:

# locate */php
/etc/php
/etc/alternatives/php
/etc/cron.d/php
/usr/bin/php
/usr/lib/php
/usr/local/php
/usr/local/php/php
/usr/local/php/bin/php
/usr/local/php/include/php
/usr/local/php/lib/php
/usr/local/php/php/php
/usr/share/php
/var/lib/php
/var/lib/dpkg/alternatives/phpq

然后,测试你的PHP版本:/usr/local/php/bin/php -v,和 /usr/bin/php -v,一般来说后者为默认的PHP路径,版本会低一些。

所以最后命令就变成了:

sudo -u www(或者是www-data) /usr/local/php/bin/php /data/wwwroot/xxx.wzfou.com occ db:add-missing-indices

也可以先进入到NextCloud根目录下,再执行命令:

sudo -u www(或者是www-data) /usr/local/php/bin/php occ db:add-missing-indices

 


分享到:
Qi 更改状态以发布 2021年4月9日
添加评论
写下您的答案。

Login

Welcome! Login in to your account

Remember me Lost your password?

Don't have account. Register

Lost Password

Register