HFish/docs/2-4-mariadb.md

59 lines
1.9 KiB
Markdown
Raw Normal View History

2021-09-14 23:06:34 +08:00
### 数据库选择方案
2021-09-14 23:06:34 +08:00
| 部署情况 | 内网和小规模部署情况 | 外网及大规模部署 |
| ---------- | -------------------- | ---------------- |
| 适用数据库 | Sqlite/Mysql均可 | Mysql |
`综合来说Mysql数据库适合于所有部署情况也是我们优先推荐的数据库其他数据处理能力和并发兼容上都要优于SQLite`
### SQlite详述
2021-08-02 17:56:47 +08:00
HFish系统默认使用的sqlite数据库具体见 db/hfish.db自带的已经初始化好的db相关的初始化脚本见 db/sql/sqlite/V<% version %>__sqlite.sql
如果您想要重置 hfish.db 可以通过下面命令生成新的 db 文件请确保安装了sqlite3数据库。 替换 db/hfish.db 即可。
```
sqlite3 hfish.db < db/sql/sqlite/V<% version %>__sqlite.sql
```
2021-09-14 23:06:34 +08:00
**sqlite数据库无需安装使用方便但在遭到大规模攻击及当前版本升级时候会存在数据丢失的问题。**
2021-08-02 17:56:47 +08:00
2021-09-14 23:06:34 +08:00
### Sqlite更换为Mysql
HFish同时**支持mysql**数据库,相关的初始化脚本见 db/sql/mysql/V<% version %>__mysql.sql。
2021-08-02 17:56:47 +08:00
如果您想要切换到mysql数据库可以进行以下操作请确认已经安装了mysql数据库推荐5.7及以上版本)
> 1. 初始化数据库
linux环境可以在命令行执行下述命令然后输入密码root用户密码
```
mysql -u root -p < db/sql/mysql/V<% version %>__mysql.sql
```
windows环境可以使用远程连接工具比如sqlyog等导入db/sql/mysql/V<% version %>__mysql.sql 脚本。
> 2. 修改config.ini配置文件数据库的连接方式主要需要修改type和url如下
```
[database]
type = sqlite3
max_open = 50
max_idle = 50
url = ./db/hfish.db?cache=shared&mode=rwc
# type = mysql
2021-09-14 23:06:34 +08:00
# url = mysql用户名::密码@tcp(:3306)/hfish?charset=utf8&parseTime=true&loc=Local
2021-08-02 17:56:47 +08:00
```
2021-08-28 09:37:17 +08:00
**如果mysql想要加ip则使用**
url = mysql用户名:密码@tcp(ip:3306)/hfish?charset=utf8&parseTime=true&loc=Local