我正在使用 InstantWP,它安装了运行 Alpine Linux 的虚拟服务器。 InstantWP 用于运行本地版本的 Wordpress。它安装了 MariaDB 10.1,这不是 mariadb 的最新版本。
所以我尝试一下sudo apk add mariadb
。这会返回一个错误:
WARNING: This apk-tools is OLD! Some packages might not function properly.
WARNING: The repository tag for world dependency 'apk-tools@edge' does not exist
ERROR: Not committing changes due to missing repository tags. Use --force to override.
我尝试做sudo apk update
并检查apk/repositories
显示:
#/media/cdrom/apks
http://dl-cdn.alpinelinux.org/alpine/v3.6/main
#http://dl-cdn.alpinelinux.org/alpine/v3.5/community
#http://dl-cdn.alpinelinux.org/alpine/edge/main
http://dl-cdn.alpinelinux.org/alpine/edge/community
#http://dl-cdn.alpinelinux.org/alpine/edge/testing
似乎没有什么可以解决这个问题。到底是怎么回事?
主要问题是当我通过 phpmyadmin 从 MySQL 8.0 导入 sql 文件时,它返回一个错误:#1273 - Unknown collation: 'utf8mb4_0900_ai_ci'
并且我读到运行最新版本mariadb
可能是解决方案。
答案1
正如警告所示,apk 似乎期望@edge
存储库标签存在,但它确实从您的/etc/apk/repositories
文件中丢失了。
要添加edge
标签和存储库,请将以下行添加到存储库文件中:
@edge http://dl-cdn.alpinelinux.org/alpine/edge/main
这将启用边缘存储库,并使用标签对其进行标记@edge
。
完成此操作后,运行apk update
并尝试重复 MariaDB 安装。
有关 Alpine 存储库标记和固定的更多详细信息,请参阅:
Alpine Wiki - 包和存储库 - 存储库固定。