Nextcloud 可以连接本地数据库,对于系统维护有很多好处,本文记录 nextcloud 连接mariadb数据库的方法。
操作流程 {#操作流程}
mariadb 开源高效,我们尝试使用 mariadb 作为数据库
创建数据库容器 {#创建数据库容器}
- 使用命令创建容器
4047 InnoDB 错误 {#4047-InnoDB-错误}
-
这个错误是 mariadb 10.6 之后的版本会出现的,因为 mariadb 默认数据库只读
-
相关官方文档:https://mariadb.com/kb/en/innodb-compressed-row-format/
-
此时如果直接将该容器给 nextcloud 用会报错:
解决方案一 {#解决方案一}
- 使用 mysql 代替 mariadb
解决方案二 {#解决方案二}
-
退回 mariadb 版本到10.5
解决方案三(临时方案) {#解决方案三(临时方案)}
- 需要修改 mariadb,关闭一个只读的设置
- 该解决方案会在容器重启后失效
解决方案四(最优方案) {#解决方案四(最优方案)}
- 创建容器后进入容器
- 修改
/etc/mysql/my.cnf
文件 - 添加内容:
创建 nextcloud-fpm版本容器 {#创建-nextcloud-fpm版本容器}
- 登录
宿主IP:8080
可以访问 nextcloud 配置界面,填入管理员账户信息和数据库信息
- 填好后点击完成配置,等待一会nextcloud 完成初始化
验证数据库连接是否成功 {#验证数据库连接是否成功}
- 进入数据库,查看数据库列表
- 可以看到
nextcloud_db
被创建,说明链接成功
参考资料 {#参考资料}
- https://www.bilibili.com/read/cv13745537
- https://www.cnblogs.com/backtracker/p/11421955.html
- https://blog.csdn.net/m0_46135899/article/details/120774672
- https://github.com/nextcloud/docker/issues/1536
- https://xuyiyang.com.cn/archives/解决nextcloud配合mariadb106使用时安装程序报错的问题md
- https://bbs.archlinux.org/viewtopic.php?id=268127
文章链接:
https://www.zywvvd.com/notes/environment/nas/nextcloud/nextcloud-mysql/nextcloud-mysql/