Loading... > [Nextcloud](https://nextcloud.com/)是一款开源免费的私有云存储网盘项目,可以让你快速便捷地搭建一套属于自己或团队的云同步网盘,从而实现跨平台跨设备文件同步、共享、版本控制、团队协作等功能。它的客户端覆盖了Windows、Mac、Android、iOS、Linux 等各种平台,也提供了网页端以及 WebDAV接口,所以你几乎可以在各种设备上方便地访问你的云盘。 > [MariaDB](https://mariadb.org/)数据库管理系统是MySQL的一个分支,主要由开源社区在维护,采用GPL授权许可 MariaDB的目的是完全兼容MySQL,包括API和命令行,使之能轻松成为MySQL的代替品。在存储引擎方面,使用XtraDB(英语:XtraDB)来代替MySQL的InnoDB。 MariaDB由MySQL的创始人Michael Widenius(英语:Michael Widenius)主导开发,他早前曾以10亿美元的价格,将自己创建的公司MySQL AB卖给了SUN,此后,随着SUN被甲骨文收购,MySQL的所有权也落入Oracle的手中。MariaDB名称来自Michael Widenius的女儿Maria的名字。 > Nextcloud在默认安装的条件下是调用`SQLite`,据大佬们说高度使用会崩溃,所以建议使用其他数据库配合,既然使用了Docker,那就再安装一个`mariaDB`配合他使用。 以前配置博客站点的经验告诉我,涉及到数据库的东西,没有那么简单。结果呢? **真的不简单!** 接下来开始一步一步安装吧,安装的步骤: - 安装mariaDB - 配置mariaDB database - 安装Nextcloud - 配置Nextcloud和mariaDB的配合 ## 安装Docker镜像:mariaDB - Docker Hub :[linuxserver/mariadb](https://hub.docker.com/r/linuxserver/mariadb/) 安装Docker可以手动安装也可以在UNRAID的Docker市场安装。需要的具体配置如下:  这里面需要注意的地方: - 端口:容器的数据库端口是3306,可以自行根据需求更改直接使用3306也可以。 - ROOT_PASSWORD:这是个是数据库管理密码,非常重要不要忘记 - CONFIG_FILE:为了防止以后更改设置丢失配置文件,建议放在UNRAID主文件系统里面 还有一点需要注意的就是,mariaDB没有webUI,任何配置都需要在Console里面进行配置。 ## 配置mariaDB里面的DATABASE  打开`控制台`,如果没有安装汉化补丁的话,这里应该是`Console`。接下来就会出现熟悉的黑窗。在黑窗里面使用命令一步一步创建数据库和用户。 ``` # mysql -uroot -p Enter password: Welcome to the MariaDB monitor. Commands end with ; or \g. Your MariaDB connection id is 9 Server version: 10.4.12-MariaDB-1:10.4.12+maria~bionic-log mariadb.org binary distribution Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. MariaDB [(none)]> CREATE USER 'testusername' IDENTIFIED by 'testpassword'; Query OK, 0 rows affected (0.051 sec) MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS nextcloud; Query OK, 1 row affected (0.002 sec) MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'testusername' IDENTIFIED BY 'testpassword'; Query OK, 0 rows affected (0.046 sec) MariaDB [(none)]> quit Bye # 下面是每条指令介绍: --- # mysql -uroot -p 登录数据库,然后输入密码,密码默认不可见。 --- MariaDB [(none)]> CREATE USER 'testusername' IDENTIFIED by 'testpassword'; 输入>之后的命令就行,这个是为了创建一个用户,用户名 testpassword ,可以自己定义,后面的密码输入 前面创建Docker时候的密码 testpassword 。 --- MariaDB [(none)]> CREATE DATABASE IF NOT EXISTS nextcloud; 输入>之后的命令就行,创建一个名为 nextcloud 的database,名字可以自定义。 --- MariaDB [(none)]> GRANT ALL PRIVILEGES ON nextcloud.* TO 'testusername' IDENTIFIED BY 'testpassword'; 授权上面创建的用户获得刚刚创建的database的权限。 --- MariaDB [(none)]> quit 退出数据库 --- ```  ## 安装Docker镜像:nextcloud - Docker Hub :[linuxserver/nextcloud](https://hub.docker.com/r/linuxserver/nextcloud) 安装Docker可以手动安装也可以在UNRAID的Docker市场安装。需要的具体配置如下:  这里面需要注意的地方: - 端口:容器的管理页面端口是443,可以自行根据需求更改直接使用443也可以。 - DATA_PATH:这是个是文件存储目录 - CONFIG_PATH:为了防止以后更改设置丢失配置文件,建议放在UNRAID主文件系统里面 ## 配置Nextcloud和mariaDB的配合 打开nextcloud的webUI:  打开时候因为证书的问题,会提示不是安全的连接,直接继续访问就行。  第一次打开nextcloud时候会和安装Typecho或者Wordpress差不多,会先进入到一个安装页面。  可以看到默认的数据管理软件是`SQLite`,我们直接选择第二项`MySQL/MariaDB`。  选择玩数据库管理软件后,依次填入一些信息,前面的用户名和密码是nextcloud的登录用的,下面的四个内容才是重点。 - testusername:是配置数据库时候创建的账户名 - testpassword:是数据库的管理密码 - nextcloud:是配置数据库的名称 - 10.10.10.237:3307:是数据库的地址和端口,可以再UNRAID的Docker页面看到  填好上面的内容后,点击`安装完成`,时间稍稍有点长,我们等一下就好了。 接下来的自动跳转页面可能会报错,直接重新在docker管理页面重新打开webUI就可以了。  到这里`Nextcloud`和`MariaDB`安装与配合已经结束,可以痛快使用了。如果想在外网使用的话,可以看我的另一篇博客: <div class="preview"> <div class="post-inser post box-shadow-wrap-normal"> <a href="https://blog.yelvlab.cn/archives/539/" target="_blank" class="post_inser_a no-external-link no-underline-link"> <div class="inner-image bg" style="background-image: url(http://pic.yelvlab.cn/Nextcloud/nextcloud.png);background-size: cover;"></div> <div class="inner-content" > <p class="inser-title">【UNRAID + Docker】Nextcloud修改配置可以通过外网访问</p> <div class="inster-summary text-muted"> 最近在体验UNRAID的Docker,因为这是第一次使用Docker,所以很多东西并不了解,逐渐摸索中,跟着B站第... </div> </div> </a> <!-- .inner-content #####--> </div> <!-- .post-inser ####--> </div> ## 参考内容: [How to Setup Nextcloud on unRAID for your Own Personal Cloud Storage](https://www.youtube.com/watch?v=fUPmVZ9CgtM) Last modification:October 10, 2020 © Allow specification reprint Like 0 If you think my article is useful to you, please feel free to appreciate
4 comments
Enter password:
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES)
请教下!我一直是这样的错误提示,密码是前面设置的。
进appdata里面把文件夹删了重新安装就好了
我也一直这个错,尴尬的一批
我似乎也遇到过,好像是前面哪里操作不太多,记不清了,就遇到了一次,就再没有了,如果docker里面跑的,可以尝试删掉,重新再来一遍,这方面我也不擅长,我这些都是整理的笔记,下面也有贴了原帖地址