Skip to content

Mysql配置

WARNING

如下截图等,是使用Navicat For Mysql工具对Mysql进行操作。你也可以用其他Mysql操作客户端或者直接命令行客户端进行操作,原理类似。

配置Mysql

安装好mysql(5.7版本)之后, 需要在mysql配置文件中,做一些设置。(Windows下mysql配置文件是my.ini,linux下面mysql配置文件是my.cnf) 如果没有如下配置,请加上(主要是,开启mysql定时任务,设置编码为utf8, 设置最大超时时间):

properties
character_set_server=utf8mb4
collation_server=utf8mb4_unicode_ci
max_connections=1000
wait_timeout=30000
interactive_timeout=30000

创建数据库

安装Mysql之后,需要先创建数据库。 XSDK服务端中需要创建两个数据库, 一个是用于业务数据存储;一个是用于批处理作业。 比如我们创建两个:

xsdk_v2: 用于存储业务数据
xsdk_tasks: 用于批处理作业

创建数据库的时候, 我们需要注意一下编码设置。 很多时候,游戏的用户角色名称,可能支持emoji表情符号, 所以我们最好将编码设置UTF8MB4, 如果设置为UTF8的话,将不支持emoji表情符号。可能导致数据存储失败。

创建好数据库之后, 我们就可以按服务端环境搭建文档中的说明, 在application.properties中配置上对应的数据库链接信息了。

当前数据库用户,除了需要拥有上述数据库的权限外,还需要拥有performance_scheme.user_variables_by_thread的查询权限,你可以通过执行如下SQL语句给对应的用户分配:

GRANT SELECT ON performance_schema.user_variables_by_thread TO 'ugsdktest'@'%'

导入数据

为了更好的跟踪数据结构的变化, XSDK中我们集成了flyway管理sql。 所以, 上面创建好数据库之后, 我们只需要在application.properties中配置好数据库的链接信息,然后启动程序即可。

首次启动时,flyway会将表结构和基础数据同步到数据库中。

NOTE: 程序中的业务数据库对应的sql表结构和基础测试数据,在ug-repository-config/src/main/resources/db.migration目录下

V1.0.20200814__Init.sql :  业务数据对应的表结构
V1.1.20200929__Data__Init.sql : 业务数据基础测试数据
V1.2.20201116__Stat__Init.sql : 统计业务对应的表结构

NOTE: 批处理作业数据库对应的sql表结构和作业数据, 在ug-quartz-xstarter/src/main/resources/db.migration目录下

V1.2.20201117__Quartz__Init.sql: 批处理作业系统对应的自定义表结构
V1.2.20201118__Quartz__Data.sql: 批出来作业系统中对应的作业任务等数据

版权所有© 2021-2030 上海丞诺网络科技有限公司