数据库
QuickShop-Hikari 支持两种数据库:H2 和 MySQL。
配置
# 数据库配置
# QuickShop 支持:
# - H2(本地文件存储;设置简单)
# - MySQL(推荐大规模服务器或群众服使用)
database:
# false = 使用本地 H2 数据库
# true = 使用 MySQL 数据库
mysql: false
# 数据库域名(只在 mysql 为 true 时需要填入)
host: localhost
# 数据库端口(只在 mysql 为 true 时需要填入)
port: 3306
# 数据库名称(只在 mysql 为 true 时需要填入)
database: quickshop
# 数据库用户名(只在 mysql 为 true 时需要填入)
user: root
# 数据库密码(只在 mysql 为 true 时需要填入)
password: passwd
# 表前缀。设置为“none”表示不使用前缀。
# 每个服务器的表前缀不可相同。多个服务器不可共用一个表前缀。
prefix: qs_
# 数据库连接使用 SSL(只在 mysql 为 true 时需要填入)
usessl: false
# 禁用数据库内用户名缓存。
disable-username-cache: false
# 启用 UUID 缓存,方便快速查询(高级)
bake-uuids: false
# 载入服务线程数量
# -1 = 自动选择推荐值
# 高级选项—只在了解线程优化时建议更改。
loader-threads: -1
# 在 /qs paste 输出中包含完整的数据库信息。
generate-full-report: false
# 禁用保存时的关闭超时。
# 可能导致服务器关闭时挂起。
unlimited-save-wait: false
# 跳过数据库/表版本检查。
# 禁用有风险;可能不会提供支持。
skip-version-check: false
# 连接池设置(HikariCP)。
# 高级:适用于大型服务器微调,风险自负。
properties:
connectionTimeout: 60000
idleTimeout: 10000
maxLifetime: 1800000
maximumPoolSize: 10
minimumIdle: 10
cachePrepStmts: true
prepStmtCacheSize: 250
prepStmtCacheSqlLimit: 2048
useUnicode: true
characterEncoding: utf8
allowPublicKeyRetrieval: true
keepaliveTime: 60000
迁移
若要将 QuickShop 数据从一个数据库类型迁移到另一个数据库,将数据导出并导入新数据库。
只需在控制台执行 /quickshop export 命令即可。 QuickShop 将创建包含商店数据的 ZIP 压缩包。
关闭服务器,切换使用存储类型,重启服务器。
商店一开始会因为数据源为空而显示为失效;只需从导出文件中导入数据即可恢复。
将导出的 ZIP 压缩包重命名为 recovery.zip,输入 /quickshop recovery 命令后重启服务器即可。 现在所有商店都会恢复,并能正常使用。