Alist设置第三方数据库
阿伏伽德雷
编辑于 2024年02月03日 02:11

玩过Alist一段时间后,就会发现数据库的重要性。一旦碰到vps宕机失联或者paas跑路收费,再重新部署时数据全丢,绝对要捶胸顿足的。如果你在部署时候设置了第三方数据库,则可以免除这些困扰。

1、第三方数据库有哪些?

bit.io、db4free、remotemysql、freesqldatabase

2、字段说明

  "type&#​34;: "&#​34;,  //数据库类型,一般可选sqlite3、mysql、postgres

    "host&#​34;: "&#​34;,         //数据库地址

    "port&#​34;: 0,          //数据库端口号,参考段落3

    "user&#​34;: "&#​34;,         //数据库账号

    "password&#​34;: "&#​34;,     //数据库密码

    "name&#​34;: "&#​34;,         //数据库库名,没有的话一般同数据账号

    "db_file&#​34;: "data\\data.db&#​34;,     //数据库位置,sqlite3使用的,默认不修改

    "table_prefix&#​34;: "x_&#​34;,           //数据库表名前缀,默认不修改

    "ssl_mode&#​34;: "&#​34;      //来控制SSL握手时的加密选项,默认不修改。不能连接时,参考段落4。

3、常用端口

1)MySql数据库 ,默认端口是: 3306;

2)Oracle数据库 ,默认端口号为:1521;

3)Sql Server数据库 ,默认端口号为:1433;

4)DB2数据库, 默认端口号为:5000;

5)PostgreSQL数据库, 默认端口号为:5432;

6)国产的DM达梦数据库, 默认端口号为:5236。

7)Redis数据库,默认端口号:6379;

8)Memcached数据库,默认端口号:11211 ;

9)MongoDB数据库,默认端口号:27017;

4、ssl_mode设置

如果不知道如何填,默认空白即可,不用修改。如果发现不填不能用的话自行研究要针对性解决:

1)在 MySQL 中,ssl_mode 参数是用于指定 SSL 连接的验证模式。以下是几种常见的选项:

DISABLED: 禁用 SSL 连接。

PREFERRED: 如果服务器启用了 SSL,则使用 SSL 连接;否则使用普通连接。

REQUIRED: 必须使用 SSL 连接,如果服务器不支持 SSL 连接,则连接失败。

VERIFY_CA: 必须使用 SSL 连接,并验证服务器证书的可信性。

VERIFY_IDENTITY: 必须使用 SSL 连接,并验证服务器证书的可信性和名称是否与连接的主机名匹配。

2)在 PostgreSQL 中,ssl_mode 参数用于指定客户端如何使用 SSL 连接。以下是几种常见的选项:

disable: 禁用 SSL 连接。

allow: 允许使用 SSL 连接,但不需要。

prefer: 如果服务器启用了 SSL,则使用 SSL 连接;否则使用普通连接。

require: 必须使用 SSL 连接,如果服务器不支持 SSL 连接,则连接失败。

verify-ca: 必须使用 SSL 连接,并验证服务器证书的可信性。

verify-full: 必须使用 SSL 连接,并验证服务器证书的可信性和名称是否与连接的主机名匹配。

5、一个实操示例:

1)以https://www.elephantsql.com/为例,注册登录面板,点击Create new instance创建实例,选择免费计划Tiny Turtle,输入数据库名称和分组。

创建实例

2)选择区域,我这里选择香港节点。

选择区域,创建生成

3)获取关键字段信息。以我的为例,应该这么填写:

  "type&#​34;: "postgres&#​34;,  //数据库类型

    "host&#​34;: "tiny.db.elephantsql.com&#​34;,  //数据库地址

    "port&#​34;: 5432,          //postgres默认端口

    "user&#​34;: "fijougmp&#​34;,         //数据库账号

    "password&#​34;: "mKGQBCEKFMgSMwLfagv0QCGfWVNieqwp",     //数据库密码

    "name&#​34;: "fijougmp&#​34;,         //数据库库名,没有的话一般同数据账号

    "db_file&#​34;: "data\\data.db&#​34;,     //数据库位置,sqlite3使用的,默认不修改

    "table_prefix&#​34;: "x_&#​34;,           //数据库表名前缀,默认不修改

    "ssl_mode&#​34;: "allow&#​34;      //来控制SSL握手时的加密选项,默认不修改。不能连接时,参考段落4。

关键字段

以我部署在Glitch项目为例,将上述信息替换Data\config.json的对应字段。

替换data/config.json对应字段信息

这样就可以成功切换至第三方数据库了,自此再也不用担心数据丢失了。随着Repit躺平,Render要信用卡验证,Glitch是为数不多的存活能部署Alist容器,最后附赠一个Alist On Glitch项目代码。https://mypikpak.com/s/VNpdHh_ULKAVPoitPdRIQHcro1