centos

jellyfin在centos的数据库连接

小樊
49
2025-10-21 22:22:04
栏目: 智能运维

Jellyfin在CentOS上的数据库连接配置指南

Jellyfin支持SQLite(默认)、MySQL、PostgreSQL三种数据库类型。其中,SQLite适合单机小规模使用,MySQL/PostgreSQL适合多用户或需要更强大功能的场景。以下是具体配置步骤及注意事项:

一、准备工作

  1. 安装Jellyfin
    通过YUM包管理器安装Jellyfin(需提前添加官方repo):

    sudo yum install -y epel-release
    wget https://repo.jellyfin.org/releases/server/centos/stable/server/jellyfin-server-10.8.9-1.el7.x86_64.rpm
    rpm -Uvh jellyfin-server-10.8.9-1.el7.x86_64.rpm
    sudo systemctl enable --now jellyfin
    
  2. 安装数据库软件

    • MySQL
      sudo yum install -y mysql-server
      sudo systemctl enable --now mysqld
      
    • PostgreSQL
      sudo yum install -y postgresql-server
      sudo postgresql-setup --initdb --unit postgresql
      sudo systemctl enable --now postgresql
      
  3. 创建数据库与用户

    • MySQL
      登录MySQL(默认root密码在安装时提示),执行以下命令:
      CREATE DATABASE jellyfin CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
      CREATE USER 'jellyfin'@'localhost' IDENTIFIED BY 'YourStrongPassword';
      GRANT ALL PRIVILEGES ON jellyfin.* TO 'jellyfin'@'localhost';
      FLUSH PRIVILEGES;
      
    • PostgreSQL
      切换至postgres用户,执行以下命令:
      sudo -u postgres psql
      CREATE DATABASE jellyfin OWNER jellyfin;
      CREATE USER jellyfin WITH PASSWORD 'YourStrongPassword';
      GRANT ALL PRIVILEGES ON DATABASE jellyfin TO jellyfin;
      \q
      

二、配置Jellyfin使用数据库

Jellyfin的数据库配置文件路径为/etc/jellyfin/config/config.db.json(若文件不存在,首次启动后会自动生成SQLite配置)。
使用文本编辑器(如nano)修改配置:

sudo nano /etc/jellyfin/config/config.db.json

三、验证配置

  1. 重启Jellyfin服务

    sudo systemctl restart jellyfin
    
  2. 检查服务状态

    sudo systemctl status jellyfin
    

    若状态显示为active (running),说明配置成功。

  3. 查看日志确认数据库连接

    journalctl -u jellyfin -f
    

    日志中应无数据库连接错误(如Unable to connect to database)。

四、常见问题排查

  1. 数据库服务未启动
    若出现Connection refused错误,检查数据库服务是否运行:

    sudo systemctl status mysqld  # MySQL
    sudo systemctl status postgresql  # PostgreSQL
    

    若未运行,启动服务:sudo systemctl start mysqld

  2. 连接字符串错误
    确认config.db.json中的HostPortDatabaseNameUsernamePassword与数据库实际配置一致。例如,MySQL默认端口为3306,PostgreSQL为5432。

  3. 用户权限不足
    若出现Access denied错误,检查数据库用户是否有对应数据库的权限:

    • MySQLSHOW GRANTS FOR 'jellyfin'@'localhost';
    • PostgreSQL\du jellyfin(在psql中执行)
  4. 防火墙拦截
    若数据库不在本地(如远程数据库),需开放对应端口:

    sudo firewall-cmd --permanent --add-port=3306/tcp  # MySQL
    sudo firewall-cmd --permanent --add-port=5432/tcp  # PostgreSQL
    sudo firewall-cmd --reload
    

五、注意事项

通过以上步骤,即可在CentOS上完成Jellyfin的数据库连接配置。如需进一步优化,可参考Jellyfin官方文档的数据库配置章节

0
看了该问题的人还看了