Nextcloud 可以连接本地数据库,对于系统维护有很多好处,本文记录 nextcloud 连接mariadb数据库的方法。
mariadb 开源高效,我们尝试使用 mariadb 作为数据库
docker run -it -d --name nextcloud_db -e MYSQL_ROOT_PASSWORD=<YOUR_PASSWORD> -p 3306:3306 --restart=always mariadb
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.
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
docker run -it -d --name=nextcloud --link nextcloud_db:db --privileged -p 8080:80 -p 8443:443 --restart=always nextcloud
宿主IP:8080
可以访问 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
被创建,说明链接成功