发表于2020-06-16
我之前安装gitea使用的数据库是默认的sqlite3数据库,SQLite是一般用于本地客户端软件,不适合多用户访问量大的的系统。因为考虑到以后系统的负载,稳妥起见还是需要使用mysql数据库。但是之前已经使用过一段时间了,也有数据了。这就涉及到数据的迁移,网上查了资料,感觉都不太适合,最后自己摸索,成功迁移到mysql8。
custom文件夹下面的conf里面有一个app.ini文件,这是gitea的配置文件。删除这个文件夹。
强烈建议先备份这个文件夹,为迁移失败,做好数据库恢复的准备。
使用navicat连接SQLite
然后选择有数据的表,全部记录。类型选择sql文件。
需要到处的表主要如下图:
其实最重要的表有,repository, user, action,repo_unit,protected_branch,action,issue。其他表根据自己需要,可以不用导出。
注意:导出的sql文件中的表名有一个双引号,需要删除掉!
创建一个数据库gitea,编码utf8mb4。
运行gitea-1.11.6-windows-4.0-amd64.exe,因为最开始已经删除了app.ini,所以重新启动gitea后,访问http://localhost:3000会自动跳转到安装界面。
选择数据库类型为mysql并输入数据库链接、账号等信息。
分别导入上面导出的sql文件,导入数据后用之前的账号就能登录,仓库信息也同步过来了。