当前位置:网站首页>Nextcloud -4- 连接 MariaDB
Nextcloud -4- 连接 MariaDB
2022-08-06 17:26:00 【为为为什么】
Nextcloud 可以连接本地数据库,对于系统维护有很多好处,本文记录 nextcloud 连接mariadb数据库的方法。
操作流程
mariadb 开源高效,我们尝试使用 mariadb 作为数据库
创建数据库容器
- 使用命令创建容器
docker run -it -d --name nextcloud_db -e MYSQL_ROOT_PASSWORD=<YOUR_PASSWORD> -p 3306:3306 --restart=always mariadb4047 InnoDB 错误
- 这个错误是 mariadb 10.6 之后的版本会出现的,因为 mariadb 默认数据库只读
- 相关官方文档:https://mariadb.com/kb/en/innodb-compressed-row-format/
- 此时如果直接将该容器给 nextcloud 用会报错:
Error while trying to initialise the database: An exception occurred while executing a query: SQLSTATE[HY000]: General error: 4047 InnoDB refuses to write tables with ROW_FORMAT=COMPRESSED or KEY_BLOCK_SIZE.解决方案一
- 使用 mysql 代替 mariadb
解决方案二
- 退回 mariadb 版本到10.5
- https://github.com/nextcloud/docker/issues/1536
解决方案三(临时方案)
- 需要修改 mariadb,关闭一个只读的设置
docker exec -it mysql mysql -u root -p
# 输入创建容器时设定的密码
SET GLOBAL innodb_read_only_compressed=OFF;- 该解决方案会在容器重启后失效
解决方案四(最优方案)
- 创建容器后进入容器
docker exec -it nextcloud_db bash- 修改
/etc/mysql/my.cnf文件 - 添加内容:
[mariadbd]
innodb_read_only_compressed=0创建 nextcloud-fpm版本容器
docker run -it -d --name=nextcloud --link nextcloud_db:db --privileged -p 8080:80 -p 8443:443 --restart=always nextcloud- 登录
宿主IP:8080可以访问 nextcloud 配置界面,填入管理员账户信息和数据库信息
- 填好后点击完成配置,等待一会nextcloud 完成初始化
验证数据库连接是否成功
- 进入数据库,查看数据库列表
docker exec -it nextcloud_db mysql -u root -p
Enter password:
show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| nextcloud_db |
| performance_schema |
| sys |
+--------------------+
5 rows in set (0.003 sec)
- 可以看到
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
边栏推荐
- 2022年华数杯C题资料汇总
- 论文阅读笔记(五)——利用增强掩模R-CNN实例分割方法从图像中提取个体牛的轮廓
- What does the 0x0000001a blue screen code mean? How to solve the 0x0000001a blue screen code
- Win7 and win10 which takes up less resources Win7 and win10 take up resources in detail
- 为什么企业不愿意升级ERP系统
- 0x0000001a蓝屏代码是什么意思 0x0000001a蓝屏代码怎么解决
- 基于 OPLG 从 0 到 1 构建统一可观测平台实践
- IDEA03:数据库CDC、Kafka和连接器Debezium配置
- How to format computer to restore factory settings in win7
- 基于 OPLG 从 0 到 1 构建统一可观测平台实践
猜你喜欢

What does the 0x0000001a blue screen code mean? How to solve the 0x0000001a blue screen code

windows7激活产品密钥最新免费2022大全(含旗舰版、专业版、家庭版、通用版)

2022 华数杯 C 题 插层熔喷非织造材料的性能控制研究

快充充电器 多口快充协议芯片

Windows 7 screen shortcuts is Windows 7 computer screen shortcuts

win7设置每天自动关机 自动关机怎么设置win7

win7无线网络列表显示不出来 win7网络连接图标不见了怎么办

赞!图像几何三维重建代码实战教程来啦!深度计算+点云处理+网格重建优化+纹理贴图!

优秀的软件测试工程师是怎样练成的?

Flyway报错源码分析——Validate failed: Migrations have failed validation
随机推荐
`QT` exe打包发布
office2019密钥永久有效 office2019密钥大全分享
IP address configuration error network cannot be connected how to solve win7
电脑蓝屏的修复方法 电脑蓝屏退不出去怎么办
win7强制恢复出厂设置 win7怎么格式化电脑恢复出厂设置
cdr是什么软件 cdr格式用什么软件打开
Talking about the Jmeter performance test process
二极管选型指南
为什么企业不愿意升级ERP系统
基于 OPLG 从 0 到 1 构建统一可观测平台实践
word2vec原理
面试秘籍 | 接口测试常见面试题
bluetooth peripheral device can not find the driver how to do bluetooth peripheral device no driver
win7启动项设置在哪 win7关闭开机启动项怎么设置
RSA加密/签名过程
2022年华数杯C题资料汇总
Flyway报错源码分析——Validate failed: Migrations have failed validation
3年测试经验,突然很迷茫,软件测试工程师的出路在哪?
论文阅读笔记(五)——利用增强掩模R-CNN实例分割方法从图像中提取个体牛的轮廓
`Mathematics` Fundamental Theorem of Calculus