### 数据库相关 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数据库无需安装,使用方便,但在遭到大规模攻击,及当前版本升级时候会存在数据丢失的问题。** 因此,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