备注
这里是开服需要的, 如果只是普通游戏玩家, 不用看这个文档。
4.3. 数据库的安装
我们的MC开服,是需要存储一些数据的, 比如玩家背包数据, 玩家在线数据, 玩家世界数据等。 这些数据都是需要存储在数据库中的。这里我们选择主流的mysql来进行部署。
4.3.1. 版本选择
我们建议的版本是 MariaDB 10.11.x(长期支持版)版本的, 可以从下面的官方链接获取对应的包。 不要下载太新的版本,后面的插件可能会不兼容。
4.3.2. centos上安装 mariadb server
# 安装数据库软件
apt search mariadb-server
# 我是debian的,获取到的是mariadb-server/stable 1:10.11版本,这个就可以的
apt install mariadb-server
systemctl stop mariadb-server
# 创建基本目录和授权
mkdir /home/mc/mysql/data -pv
mkdir /home/mc/mysql/tmp -pv
chown mysql:mysql -R /home/mc/mysql
# 这里有需要的话,可以修改下配置文件,修改下数据库数据文件存放目录和最大连接数。
vim mariadb.conf.d/50-server.cnf
# 修改如下部分。
user = mysql
pid-file = /home/mc/msql/mysqld.pid
basedir = /home/mc/mysql
datadir = /home/mc/mysql/data
tmpdir = /home/mc/mysql/tmp
# 最大链接数
max_connections=10000
# 修改systemd文件
vim /etc/systemd/system/multi-user.target.wants/mariadb.service
# service补充
LimitNOFILE=65535
# 修改
ProtectHome=false
# 设置数据库开机启动
systemctl enable mariadb
# 启动数据库
systemctl start mariadb
# 查看启动状态
systemctl status mariadb
# 查看文件
root@mc:/etc/mysql/mariadb.conf.d# ls /home/mc/mysql/data/
aria_log.00000001 ddl_recovery.log ib_buffer_pool ibdata1 multi-master.info mysql_upgrade_info sys
aria_log_control debian-10.11.flag ib_logfile0 ibtmp1 mysql performance_schema
4.3.3. windows上安装 mariadb server
从这个地方下载安装即可。
4.3.4. 账户配置
这里创建的账户是mc用户名的, 密码设置一个, 设置的host只能本机登录, 我们后面的远程方案是通过db工具,优先ssh到服务器,然后通过服务器本机连接到db。 降低将db的3306端口暴露给公网的危险性。
-- 需要你在服务器的终端来执行的,输入mysql进入mysql的终端,然后执行如下sql语句
-- 创建一个用户
CREATE USER 'mc'@'127.0.0.1' IDENTIFIED BY 'mc_panda_142857';
-- 授权下
GRANT ALL ON *.* TO 'mc'@'127.0.0.1';
-- 刷新权限
flush privileges;
4.3.5. 工具测试链接
4.3.5.1. 工具下载
工具一般是下载我们本地电脑上面的, 使用这个工具来管理我们远端的数据库的。
4.3.5.2. 链接到DB测试
-- 创建一个db, 方便luckperm权限插件使用的。
CREATE DATABASE d_luckperms CHARACTER SET utf8 COLLATE utf8_general_ci;
4.3.6. 附录
特性 |
MySQL |
MariaDB |
|---|---|---|
开源模式 |
Oracle 主导,部分闭源组件 |
完全开源(GPL/LGPL) |
存储引擎 |
InnoDB(默认)、MyISAM 等 |
InnoDB、Aria(MariaDB 自研) |
默认字符集 |
5.7 及以前为 latin1,8.0 起为 utf8mb4 |
始终默认 utf8mb4 |
备份工具 |
mysqldump、mysqlpump |
mysqldump、mariabackup(更高效) |
性能监控 |
基础工具 |
更丰富的监控插件(如 Query Profiler) |
集群方案 |
MySQL Cluster、InnoDB Cluster |
Galera Cluster(原生多主复制) |
长期支持 |
Oracle 官方支持至 2028(MySQL 8.0) |
社区支持至 2031(MariaDB 10.11) |