jellyfin在centos的数据库连接
Jellyfin在CentOS上的数据库连接配置指南
Jellyfin支持SQLite(默认)、MySQL、PostgreSQL三种数据库类型。其中,SQLite适合单机小规模使用,MySQL/PostgreSQL适合多用户或需要更强大功能的场景。以下是具体配置步骤及注意事项:
一、准备工作
-
安装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
-
安装数据库软件
- 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
- MySQL:
-
创建数据库与用户
- 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
- MySQL:
二、配置Jellyfin使用数据库
Jellyfin的数据库配置文件路径为/etc/jellyfin/config/config.db.json
(若文件不存在,首次启动后会自动生成SQLite配置)。
使用文本编辑器(如nano
)修改配置:
sudo nano /etc/jellyfin/config/config.db.json
-
MySQL配置示例:
{ "Database": { "Engine": "mysql", "Host": "localhost", "Port": 3306, "DatabaseName": "jellyfin", "Username": "jellyfin", "Password": "YourStrongPassword" } }
-
PostgreSQL配置示例:
{ "Database": { "Engine": "postgresql", "Host": "localhost", "Port": 5432, "DatabaseName": "jellyfin", "Username": "jellyfin", "Password": "YourStrongPassword" } }
-
SQLite配置(默认):
若无需更换数据库,无需修改此文件,Jellyfin会自动创建/var/lib/jellyfin/database.db
。
三、验证配置
-
重启Jellyfin服务:
sudo systemctl restart jellyfin
-
检查服务状态:
sudo systemctl status jellyfin
若状态显示为
active (running)
,说明配置成功。 -
查看日志确认数据库连接:
journalctl -u jellyfin -f
日志中应无数据库连接错误(如
Unable to connect to database
)。
四、常见问题排查
-
数据库服务未启动
若出现Connection refused
错误,检查数据库服务是否运行:sudo systemctl status mysqld # MySQL sudo systemctl status postgresql # PostgreSQL
若未运行,启动服务:
sudo systemctl start mysqld
。 -
连接字符串错误
确认config.db.json
中的Host
、Port
、DatabaseName
、Username
、Password
与数据库实际配置一致。例如,MySQL默认端口为3306,PostgreSQL为5432。 -
用户权限不足
若出现Access denied
错误,检查数据库用户是否有对应数据库的权限:- MySQL:
SHOW GRANTS FOR 'jellyfin'@'localhost';
- PostgreSQL:
\du jellyfin
(在psql中执行)
- MySQL:
-
防火墙拦截
若数据库不在本地(如远程数据库),需开放对应端口:sudo firewall-cmd --permanent --add-port=3306/tcp # MySQL sudo firewall-cmd --permanent --add-port=5432/tcp # PostgreSQL sudo firewall-cmd --reload
五、注意事项
- 数据迁移:若从SQLite切换至MySQL/PostgreSQL,需导出旧数据(通过Jellyfin Web界面的“维护”→“备份”功能)。
- 性能优化:对于大规模媒体库,建议使用InnoDB引擎(MySQL)或调整PostgreSQL的
shared_buffers
参数。 - 备份配置文件:修改配置前备份原文件:
sudo cp /etc/jellyfin/config/config.db.json /etc/jellyfin/config/config.db.json.bak
。
通过以上步骤,即可在CentOS上完成Jellyfin的数据库连接配置。如需进一步优化,可参考Jellyfin官方文档的数据库配置章节。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: jellyfin在centos的数据库连接
本文地址: https://pptw.com/jishu/732390.html