AzerothCore启动失败:MySQL库版本与编译版本不匹配求助
问题描述
已按照AzerothCore官方说明在Ubuntu 20.04.2 Server上成功安装AzerothCore,曾正常运行并完成账号创建、登录操作。关机重启后启动服务器时出现致命错误:
#----------------------------------------------------------------------# >> FATAL ERROR # Location '/home/wowadmin/azerothcore/src/server/database/Database/DatabaseWorkerPool.cpp:79' # Function 'DatabaseWorkerPool' # Condition 'isSameClientDB' # Message 'Used MySQL library version (8.0.33 id 80033) does not match the version id used to compile AzerothCore (id 80032). Search the wiki for ACE00046 in Common Errors.' #----------------------------------------------------------------------#
查阅官方Wiki但仍无法定位问题,重新编译后服务器仍无法启动,已确认配置文件指向正确的SQL路径:
-- Using mysql-config: /usr/bin/mysql_config -- Found MySQL library: /usr/lib/x86_64-linux-gnu/libmysqlclient.so -- Found MySQL headers: /usr/include/mysql -- Found MySQL executable: /usr/bin/mysql
希望得到排查方向。
排查方向
- 检查系统MySQL版本:执行
mysql --version查看当前系统的MySQL版本,确认是否在重启后被自动更新至8.0.33。 - 确认编译时依赖的MySQL库:查看编译日志,核实编译AzerothCore时实际使用的MySQL库版本是否为8.0.32,排查系统中是否存在多版本MySQL库共存的情况。
- 显式指定编译用MySQL路径:若系统中有多个MySQL版本,重新编译时通过cmake参数指定对应版本的mysql-config,例如:
cmake -DMYSQL_CONFIG_EXECUTABLE=/path/to/mysql-8.0.32/bin/mysql-config .. - 检查动态库加载情况:执行
ldd /home/wowadmin/azerothcore/build/bin/authserver,查看authserver实际加载的MySQL库路径,确认是否加载了8.0.33版本的库。若加载错误,可通过调整LD_LIBRARY_PATH环境变量,优先指向编译时使用的8.0.32库目录,或修改系统中libmysqlclient.so的软链接指向正确版本。 - 清理编译缓存:重新编译前彻底清理build目录,避免旧配置缓存干扰:
之后再重新执行cmake和编译操作。rm -rf build && mkdir build && cd build
内容的提问来源于stack exchange,提问作者Code Dragon
相关产品推荐
相关产品推荐

