嗨,大家好,我是出生在达纳苏斯的一名德鲁伊,我是要立志成为海贼王,啊不,是立志成为科学家的德鲁伊。最近,我发现我们所处的世界是一个虚拟的世界,并由此开始,我展开了对我们这个世界本源的探索。那么就由我来带领大家拨开迷雾,深入探究我们世界的根本。
今天我们从代码入手,看一下AZ端打开数据库的操作。第122行,StartDB开始进行数据库的初始化操作。
- 初始化mysql数据库
调用命令mysql_library_init来初始化mysql driver(server/database/Database/MySQLThreading.cpp)
- 加载数据库信息
212到214行,主要是基于配置初始化一些数据库相关的信息。
涉及到的配置及介绍如下
配置文件 | 配置项 | 默认值 | 说明 |
authserver.conf | Updates.AutoSetup | true | 自动填充空数据库(基于源码中的mysql脚本) 0:关闭 1:打开 |
Updates.EnableDatabases | true | 描述哪些数据库应更新的掩码(基于源码中的mysql脚本) 0:全部关闭 1:全部打开 | |
LoginDatabaseInfo | 127.0.0.1;3306;acore;acore;acore_auth | 领域服务器的数据库连接设置 hostname;port;username;password;database | |
Database.WorkerThreads | 1 | 生成的用于处理异步(延迟)MySQL语句的工作线程数量。每个工作线程都与其自己的连接镜像 | |
Database.SynchThreads | 1 | 生成的MySQL连接数量 | |
Database.Reconnect.Attempts | 20 | 总共会进行多少次尝试? | |
Database.Reconnect.Seconds | 15 | 每次重新连接尝试之间有多少秒? |
- 开启日志记录
配置文件 | 配置项 | 默认值 | 说明 |
worldserver.conf | Appender.DB(默认不配置) | 3,5,0 | 存储来自Appender类型数据库的日志(将日志记录到acore_auth.logs) 基本不用 |
好了,今天就到这里吧,我要去呵护我的世界之树了,拜拜。