Ubuntu 20 LTS安装AzerothCore时acore_characters表缺失问题
问题修复方案
该故障核心原因是
db_assembler.sh配置中acore_auth、acore_characters、acore_world三个库的参数配置错位,导致auth库的SQL被错误导入到characters库中,同时部分导入操作遗漏了characters库的基础表结构文件。
按以下步骤操作即可解决:
- 停止所有运行中的AzerothCore服务进程,避免数据库写入冲突
pkill acore-worldserver pkill acore-authserver
- 清空所有已创建的AzerothCore相关数据库,重置导入状态
mysql -u root -p -e "DROP DATABASE IF EXISTS acore_auth; DROP DATABASE IF EXISTS acore_characters; DROP DATABASE IF EXISTS acore_world;"
- 进入AzerothCore源码目录下的
data/sql/db-assembler路径,打开config.sh配置文件,逐一核对以下三个参数的取值,必须和etc/authserver.conf、etc/worldserver.conf中配置的数据库名完全对应,绝对不能搞混:MYSQL_DATABASE_AUTH对应auth库名称,默认值为acore_authMYSQL_DATABASE_CHARACTERS对应角色库名称,默认值为acore_charactersMYSQL_DATABASE_WORLD对应世界库名称,默认值为acore_world
- 执行数据库汇编工具选择全量导入所有库结构和数据
bash db_assembler.sh
操作时选择3) Import all选项,按提示输入数据库root用户密码即可,全程不要选择分库导入避免遗漏文件
- 导入完成后先手动校验各库表数量是否符合标准:
- acore_auth:正常表数为20张左右
- acore_characters:正常表数为100张以上
- acore_world:正常表数为700张以上
- 校验无误后再正常启动
authserver和worldserver服务即可
如果执行全量导入时仍提示文件缺失,先执行git pull origin master拉取最新完整源码,再重复上述步骤即可。
内容的提问来源于stack exchange,提问作者redvapor
相关产品推荐
相关产品推荐

