You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AzerothCore启动报错1046:未选择数据库问题求助

解决AzerothCore Worldserver数据库初始化失败问题

核心问题定位

报错ERROR 2005 (HY000): Unknown server host '-u'是因为MySQL命令参数被错误解析,将-u识别成了主机名,说明worldserver的数据库连接配置格式不符合要求,导致自动填充数据库的命令执行失败;而[1046] No database selected则是数据库池未正确关联指定库,本质根源都是配置错误。

具体修复步骤

1. 修正worldserver.conf的数据库配置格式

打开worldserver.conf(通常位于/etc/azerothcore/或编译目录的etc文件夹下),找到数据库相关配置段,确保格式完全合规:

  • 每个数据库配置项需明确按主机地址;端口;数据库用户名;数据库密码;数据库名称的顺序填写,不要添加多余引号或空格
  • 正确配置示例:
    LoginDatabaseInfo     = "127.0.0.1;3306;acore;acore;acore_auth"
    WorldDatabaseInfo     = "127.0.0.1;3306;acore;acore;acore_world"
    CharacterDatabaseInfo = "127.0.0.1;3306;acore;acore;acore_characters"
    

2. 手动执行数据库填充脚本

若自动填充仍异常,可跳过worldserver自动流程,手动完成数据库初始化:

  1. 登录MySQL:
    mysql -u acore -p
    
  2. 依次创建并导入数据库文件:
    CREATE DATABASE acore_auth;
    CREATE DATABASE acore_world;
    CREATE DATABASE acore_characters;
    USE acore_auth;
    SOURCE /你的AzerothCore源码目录/data/sql/base/auth_database.sql;
    USE acore_world;
    SOURCE /你的AzerothCore源码目录/data/sql/base/world_database.sql;
    USE acore_characters;
    SOURCE /你的AzerothCore源码目录/data/sql/base/characters_database.sql;
    

3. 确认数据库权限配置

确保acore用户拥有三个数据库的完整权限:

GRANT ALL PRIVILEGES ON acore_auth.* TO 'acore'@'localhost';
GRANT ALL PRIVILEGES ON acore_world.* TO 'acore'@'localhost';
GRANT ALL PRIVILEGES ON acore_characters.* TO 'acore'@'localhost';
FLUSH PRIVILEGES;

4. 重启worldserver

完成上述操作后,重启服务:

systemctl restart azerothcore-worldserver

或直接运行编译生成的worldserver二进制文件。


内容的提问来源于stack exchange,提问作者b0b

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 18:13:21