问题描述
我想从我的服务器中删除所有字符数据并在一个线程下读取最简单的方法是将数据库删除到 sql 中并重新导入它。我尝试这样做并删除 acore_characters 数据库,再次创建数据库,并手动运行每个 sql 文件以使用所有需要的表填充数据库。执行此操作后,当我运行 Worldserver 时,收到以下错误:
2021-03-13 18:36:54 错误:世界:世界在 0 分 57 秒内初始化
2021-03-13 18:36:54 错误:您的数据库结构不是最新的。请确保您已执行 sql/updates 文件夹中的所有查询。
我对 sql 的了解非常有限(我在下载和安装 AC 之前从未使用过 sql)。我不知道这个错误消息是什么意思,也不知道我需要做什么来解决这个问题。
我在重新创建数据库的过程中做错了什么,如何修复当前的状态?
解决方法
问题在于您导入它的方式。您可能手动导入了 SQL 转储,但这不是(完整的)方法。这就是为什么你得到:
2021-03-13 18:36:54 错误:您的数据库结构不是最新的。请确保您已执行 sql/updates 文件夹中的所有查询。
还应通过加载所有 SQL 更新文件来更新数据库。幸运的是,您不必手动执行此操作,因为 AzerothCore bash 脚本会自动为您执行此操作。
所以你所要做的就是删除所有内容并按照以下步骤操作:
https://www.azerothcore.org/wiki/Database-Setup
所以基本上在复制和配置 conf/config.sh
文件后,您可以运行:
bash apps/db_assembler/db_assembler.sh
并选择 5
或 import-all
(“组装并导入全部”)。
这将安装一个新的 AC 数据库,与您的源版本匹配。
另外……仅供参考:
此工具也可用于更新您的服务器。更新源(例如 git pull
)后,您只需运行相同的脚本并选择 7
或 import-updates
(“仅组装和导入更新”)即可轻松更新您的数据库。