NitWikit/docs/扩展阅读/数据库相关.md
2024-06-06 17:52:34 +08:00

67 lines
2.2 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

---
sidebar_position: 5
---
# 数据库相关
:::info
数据库好处都有啥? 谁说对了就给他!
1. 数据库的备份维护等所占用的时间远比将整个服务器停止后打包压缩备份快得多;
2. 同样的数据量, MySQL比yml/txt/sqlite等占用也小得多.特别是对于数据量大的插件(30Gb的dynmap文件使用MySQL后整个数据库将压缩到15Gb);
3. 读取速度快, 某些插件使用yml储存数据时启动一个插件甚至需要10s+ 换用mysql后服务器启动速度快;
4. Redis/MySQL 等数据库配合可轻松完成玩家数据同步等;
5. 在数据量较大时候相较sqlite有更好的性能 查询时需要的时间短, 特别是某些经济插件付款时避免顿卡.
:::
## MySQL / MariaDB
MariaDB是著名的MySQL分叉只是服务器腐竹的话你只需要知道这两个东西差不多就好了
:::info
当 MariaDB Server 的前身 MySQL 于 2009 年被 Oracle 收购时MySQL 创始人 Michael “Monty” Widenius 出于对 Oracle 管理权的担忧而分叉了该项目,并将新项目命名为 MariaDB。
> 来自 https://mariadb.org/zh/
:::
### 安装
windows我能想到的最简单的就是 [小皮数据库](https://www.xp.cn/download.html)了
[小皮数据库怎么使用](https://cn.bing.com/search?q=%E5%B0%8F%E7%9A%AE%E6%95%B0%E6%8D%AE%E5%BA%93%E6%80%8E%E4%B9%88%E4%BD%BF%E7%94%A8)
Linux? 你都会用Linux了 不会就用面板自动安装...自己研究吧
### 配置
1. 请一定记得关闭远程数据库访问;
2. 如果一定要开启远程数据库请设置复杂密码;
3. 必须要先创建数据库插件才有权限创建表(这不废话吗不然插件配置文件里填什么);
:::info
语句示例:
```sql
CREATE DATABASE <数据库名称> CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
```
解释: `CHARACTER SET utf8mb4` 将数据库字符集设置为 utf8mb4 能够存储包括表情符号在内的所有 Unicode 字符。 `utf8mb4_general_ci` 是一种不区分大小写case-insensitive的排序规则如果你想区分大小写可以改为 `utf8mb4_bin``_bin` 意为以二进制方式比较字符。
:::
4. 数据库参数记得调整(TODO)
## Redis
TODO