Merge pull request #223 from Yaosanqi137/main

重提 数据库相关
This commit is contained in:
lilingfengdev 2024-08-11 16:53:08 +08:00 committed by GitHub
commit f7827dc0de
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
26 changed files with 331 additions and 12 deletions

View File

@ -7,8 +7,6 @@ sidebar_position: 1
:::info
`SpigotMC` https://www.spigotmc.org/resources/.111858/
`GitHub` https://github.com/TrPlugins/TrChat
`文档` https://trchat.trixey.cc

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 34 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 12 KiB

After

Width:  |  Height:  |  Size: 20 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.4 KiB

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

After

Width:  |  Height:  |  Size: 28 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

After

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.7 KiB

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 26 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 38 KiB

After

Width:  |  Height:  |  Size: 56 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 13 KiB

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 55 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 25 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 910 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 16 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 13 KiB

View File

@ -4,15 +4,85 @@ slug: /database/backup
sidebar_position: 4
---
## 数据库备份
## 手动备份
### 手动备份
### 使用命令行备份
TODO
### 使用 Navicat 备份
展开你想要备份的数据库,点击备份,再点击新建备份
![](_images/35.png)
然后点击备份即可开始备份
![](_images/36.png)
中间的命令行提示这一条的时候备份即已完成
![](_images/37.png)
**那我可以指定把数据库备份放在那里吗?**
当然可以!
右键你的连接,点击编辑连接
![](_images/38.png)
点击数据库,修改这里的设置位置即可让 Navicat 将你的数据库备份到你想要到的地方了
![](_images/39.png)
**如何使用备份?**
右键你想要使用的备份,然后点击还原备份
![](_images/40.png)
然后在弹出的界面中点击还原,当命令行出现这句话的时候,数据库就还原成功了
![](_images/41.png)
**对于数据量非常大的数据库,备份起来很慢,还容易出错,怎么办?**
遇到这种情况,不用慌张,我们这个时候转储 SQL 文件即可
转储 SQL 文件,能够极大降低还原备份时出错、数据缺失的问题
我们右键想要转储为 SQL 文件的数据库,点击转储 SQL 文件,点击结构和数据
![](_images/42.png)
之后我们选择一下 SQL 文件的转出位置
当命令行出现这句话的时候,即已完成转储
之后当我们需要使用备份的时候,我们再次右键那个数据库,点击运行 SQL 文件
![](_images/44.png)
然后找到你之前转储的后缀为 `.sql` 的文件,选中并确定后点击开始。当命令行出现这句话的时候,数据库就还原成功了
![](_images/45.png)
### 使用 HeidiSQL 备份
TODO
### 使用小皮工具箱备份
TODO
### 使用宝塔面板备份
TODO
### 自动备份
#### 使用 Navicat 自动备份
### 使用 Navicat 自动备份
![](_images/31.png)

View File

@ -28,15 +28,15 @@ default-character-set=utf8
port = 3306
# 设置 MySQL 的端口
#设置 MySQL 的端口
socket = /tmp/mysql.sock
# 设置mysql的安装目录别动
#设置mysql的安装目录,别动
basedir=F:\\Hzq Soft\\MySql Server 51GA
# 设置mysql数据库的数据的存放目录如果你觉得原来存放数据库的地方不够用了可以迁到其他地方去
#设置mysql数据库的数据的存放目录,如果你觉得原来存放数据库的地方不够用了可以迁到其他地方去
#但是要注意把原来的存放目录里面的东西迁移到那个地方去
@ -46,7 +46,7 @@ datadir=F:\\Hzq Soft\\MySql Server 51GA\\data
#innodb_log_group_home_dir 默认datadir
# 设置mysql服务器的字符集默认编码
#设置mysql服务器的字符集,默认编码
default-character-set=utf8
@ -58,9 +58,9 @@ back_log = 50
#skip-networking
# 最大连接数量
#最大连接数量
#有时候插件会因为这个值太小而报错,建议设置大一点
#有时候插件会因为这个值太小而报错,建议设置大一点,比如 65536 ,甚至有时候这都不够
max_connections = 90
@ -240,7 +240,7 @@ innodb_lock_wait_timeout = 120
:::
此外,还有一些可以自行加进去的配置项
此外,还有一些十分重要的配置项,建议修改,没有的配置项可以自行在配置文件中添加
:::info
@ -249,6 +249,7 @@ innodb_lock_wait_timeout = 120
|`wait_timeout` | 此项设置 MySQL 在关闭一个非交互的连接之前所要等待的秒数,也就是一项连接如果空闲时间超过设置的值,连接就会被自动关闭,这时候你的插件就会疯狂报错烦死你,建议调大一点。但是太大也不行,否则会严重拖累性能 | `wait_timeout=28800` | 86400
|`interactive_timeout` | 此项设置 MySQL 关闭一个交互的连接之前所要等待的秒数,需要注意的是, `wait_timeout``interactive_timeout` 需要同时设置,否则不会生效 | `interactive_timeout=28800`| 86400 |
|`max_allowed_packet` | 有时候你的插件会告诉你 `Package for query is too large` 那么这个时候你就需要调大这个值了,这一项规定了 MySQL 传输过程中最大允许的包的大小 | `max_allowed_packet=1M` | 看情况 |
|`max_connections` | 这一项设置 MySQL 的最大连接数,如果连接数到达这个数值,就无法创建新的连接,这个时候你的插件通常会报错,告诉你 `max_connections` 满了 | `max_connections=90` | 32768 |
:::

View File

@ -24,6 +24,8 @@ sidebar_position: 1
而标着 `ubuntu``debian` 是 linux 版本的安装包linux 用户请下载这个
在下载的时候请务必注意自己的系统、架构等是否与安装包上标的匹配
### 使用工具安装
我会告诉你 **我认为** 最简单的几种安装数据库的方法
@ -58,6 +60,33 @@ MySQL5 版本太低了,很多插件需要更高版本的,装 MySQL8 就够
</details>
<details>
<summary>初次启动</summary>
安装好后在首页启动 MySQL
![](_images/9.png)
更改 root 账户的密码
:::danger
不要设置过于简单的密码!
尤其是你打算把数据库开到公网,**绝对不要**设置过于简单的密码!
**这真的很严重**
:::
![](_images/10.png)
![](_images/11.png)
然后你就可以建数据库了,建好之后把你填这里的信息填到插件的配置文件里
</details>
#### 宝塔面板
<details>

View File

@ -0,0 +1,221 @@
---
title: 使用
slug: /database/manage
sidebar_position: 2
---
## 数据库管理
## 使用数据库管理软件管理
你要知道,在 数据库安装 那一栏。虽然有两种截然不同的方式安装数据库
但是你安装的数据库,实质上都安装的是同一个东西,只不过管理工具不同
什么是 **管理工具** ?就是帮助你方便管理你的数据库一类工具软件
像宝塔这种运维面板、Navicat 这种数据库管理软件给数据库提供了 创建,删除,备份 等基础操作(有图形界面),让你无需学会数据库指令操作,就可以管理你的数据库
当然,这并不是说你只能用这些工具管理数据库了,你仍然可以使用指令控制你的数据库(无图形界面)
### Navicat
:::info
官网 https://navicat.com.cn/products
:::
**Navicat** 是一款企业级的简单易用的数据库管理软件
**优势**
- 简单易用,并且功能齐全
- 界面美观
- premium 版本支持多种数据库的管理,如 MySQL 、 MangoDB 等
**劣势**
- 收费,而且不便宜
**教程**
<details>
<summary>连接数据库</summary>
点击连接,并选择你想要连接的数据库的类型
![](_images/25.png)
然后分别填写:
- 连接名: 你想让他在 Navicat 中显示的名字,方便你辨认
- 主机: 填写主机 ip 地址,如果数据库就在本地,那就填写 localhost
- 端口: 数据库使用的远程端口,默认是 3306
- 用户名: 使用某个用户登录数据库,默认是 root
- 密码: 即登录数据库的密码,你在安装数据库的时候就已经设置过了,自己要记好!
![](_images/26.png)
填写完毕后点击确定即可
顺利的话,点开数据库后会显示一个绿色图标的海豚,并列出内部的数据库
![](_images/27.png)
否则他会报错
一般有这几种情况导致连接不上:
- 数据库主机、端口填写错误
- 用户名、密码不正确
- 数据库未开启远程连接,而且数据库不在本地
- 数据库没开或者炸了
请根据具体报错具体分析
</details>
<details>
<summary>创建数据库</summary>
右键数据库图标,点击新建数据库
![](_images/28.png)
然后分别填写:
- 数据库名: 你自己想一个,之后要给插件认的,同时也方便你辨别
- 字符集: 请选择 `UTF8mb4`
- 排列规则: 可以选择 `utf8mb4_general_ci` 或者 `utf8mb4_bin`
![](_images/29.png)
然后点击确定即可创建数据库
</details>
### HeidiSQL
:::info
官网 https://www.heidisql.com/
GitHub https://github.com/HeidiSQL/HeidiSQL
:::
**HeidiSQL** 是一款开源的简易数据库管理软件
**优势**
- 简单好用,基本功能齐全
- 界面简洁
- 支持多种数据库的管理,如 MySQL 、 MangoDB 等
**劣势**
- 没有?
**教程**
TODO
### 小皮数据库
**教程**
<details>
<summary>配置数据库</summary>
TODO
</details>
### 宝塔面板
宝塔面板实际上是一种 Linux 运维管理面板,同时兼有数据库管理功能
推荐 Linux 用户使用
**教程**
<details>
<summary>配置数据库</summary>
TODO
</details>
## 手动管理
PS: 这年头谁还用指令管理数据库啊
:::info
语句示例:
```sql
CREATE DATABASE <数据库名称> CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;
```
解释: `CHARACTER SET utf8mb4` 将数据库字符集设置为 utf8mb4 能够存储包括表情符号在内的所有 Unicode 字符。 `utf8mb4_general_ci` 是一种不区分大小写case-insensitive的排序规则如果你想区分大小写可以改为 `utf8mb4_bin``_bin` 意为以二进制方式比较字符。
:::
TODO
## 插件连接数据库
下面,我们来演示一下怎么让插件连接上数据库
我们以 MySQL 为例:
这是一般插件的数据库配置项
![](_images/30.png)
我们来一一介绍他们的用途
- enabled: 是否启用 MySQL 存储数据?如果是请填 true ,否则填 false ,默认是 false ,而且有些插件是直接让你填写数据库类型的,默认是 SQLite ,对于这种配置文件,请把 SQLite 改成 MySQL 或者其他你使用的数据库名
- host: 也就是主机地址,如果数据库在本地,请填 localhost
- port: 数据库端口,默认是 3306
- database: 数据库名,也就是你在数据库下创建的数据库你为他设置的名字
- table-prefix: 数据库表的前缀,可以不管他
- username: 使用哪个用户来连接数据库?切记一般别用 root 否则连接数满的时候有你好受的
- password: 也就是上面那个 username 里面填的那个用户的登录密码
后面的就不做解释了,一般用不着
更改完后保存配置,然后重启服务器,如果连接成功,那么你在数据库管理软件上会看见那个插件的数据库下面已经自动生成表了
如果连接不上,插件在启动的时候就会报错,一般导致连接不上的原因有:
一般有这几种情况导致连接不上:
- 数据库主机、端口填写错误
- 用户名、密码不正确
- 数据库连接数满了
请结合报错分析原因