马春杰杰 Exit Reader Mode

Alist如何将数据库由Sqlite3修改为MySQL?

之前聊过Sqlite3对于Alist的缺点,所以准备将它换成MySQL了,如果数据少,可以选择之前的方法:

Alist如何将数据库由Sqlite3修改为MySQL?-马春杰杰 (machunjie.com)

如果存储数据比较多,还是比较建议用Alist自带的备份还原工具。步骤如下:

  1. 打开原来Alist的后台,导出配置:
  2. 可以本地搭建一个临时的Alist服务,这样比较安全,当然,你也可以选择使用之前的Alist,如果要用之前的Alist,那就退出服务,然后修改Alist的配置文件,将原来的sqlite3改成mysql
    {
      "force": false,
      "address": "0.0.0.0",
      "port": 5244,
      "site_url": "",
      "cdn": "",
      "jwt_secret": "acKGRvUf",
      "token_expires_in": 210,
      "database": {
        "type": "mysql",
        "host": "8.xx",
        "port": 3306,
        "user": "test1",
        "password": "2",
        "name": "test1",
        "db_file": "",
        "table_prefix": "x_",
        "ssl_mode": ""
      },
      "scheme": {
        "https": false,
        "cert_file": "",
        "key_file": ""
      },
      "temp_dir": "data/temp",
      "bleve_dir": "data/bleve",
      "log": {
        "enable": true,
        "name": "data/log/log.log",
        "max_size": 10,
        "max_backups": 5,
        "max_age": 28,
        "compress": false
      },
      "max_connections": 0
    }

    如果是打算用个临时Alist,那就先安装Alist,然后配置文件同样按上面填写。
    安装教程见:安装AList v3.x教程-马春杰杰 (machunjie.com)

  3. 之后我们启动Alist服务,目前这还是个全新的Alist,用新账号密码登录进去
    $ ./alist server
    
    INFO[2023-01-10 22:01:08] reading config file: data/config.json        
    INFO[2023-01-10 22:01:08] load config from env with prefix: ALIST_     
    INFO[2023-01-10 22:01:08] init logrus...                               
    INFO[2023-01-10 22:01:09] Successfully created the admin user and the initial password is: GuNQrIVG 
    WARN[2023-01-10 22:01:12] not enable search                            
    INFO[2023-01-10 22:01:12] Aria2 not ready.                             
    INFO[2023-01-10 22:01:12] start server @ 0.0.0.0:5244                  
    [GIN] 2023/01/10 - 22:01:13 | 200 |   22.206109ms |       127.0.0.1 | GET      "/api/admin/index/progress"
  4. 进入后台,导入数据,那两个错误不用管。
  5. 进到用户管理界面,然后把用户名和密码改成你之前用的就行了。
  6. 这时打开主页,你会发现都回来了,只不过之前的索引没了,我们只需要按照这个:如何将Sqlite3转为MySQL?-马春杰杰 (machunjie.com)
    只导入索引列表即可~~

需要注意的是,一切测试正常之后,要把数据库host地址改成127.0.0.1

突然发现MySQL有个好处,就是以后更新索引只需要我本地更新就行了,省得占用服务器资源。

本文最后更新于2023年1月10日,已超过 1 年没有更新,如果文章内容或图片资源失效,请留言反馈,我们会及时处理,谢谢!