HFish/docs/2-4-mariadb.md
2021-09-16 15:33:29 +08:00

59 lines
1.9 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.

### 数据库选择方案
| 部署情况 | 内网和小规模部署情况 | 外网及大规模部署 |
| ---------- | -------------------- | ---------------- |
| 适用数据库 | Sqlite/Mysql均可 | Mysql |
`综合来说Mysql数据库适合于所有部署情况也是我们优先推荐的数据库其他数据处理能力和并发兼容上都要优于SQLite`
### SQlite详述
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
```
**sqlite数据库无需安装使用方便但在遭到大规模攻击及当前版本升级时候会存在数据丢失的问题。**
### Sqlite更换为Mysql
HFish同时**支持mysql**数据库,相关的初始化脚本见 db/sql/mysql/V<% version %>__mysql.sql。
如果您想要切换到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
# url = mysql用户名:密码@tcp(:3306)/hfish?charset=utf8&parseTime=true&loc=Local
```
**如果mysql想要加ip则使用**
url = mysql用户名:密码@tcp(ip:3306)/hfish?charset=utf8&parseTime=true&loc=Local