gogs/gitea(数据迁移) SQLite迁移到mysql8案例分享

gogs/gitea(数据迁移) SQLite迁移到mysql8案例分享

166发表于2020-06-16

我之前安装gitea使用的数据库是默认的sqlite3数据库,SQLite是一般用于本地客户端软件,不适合多用户访问量大的的系统。因为考虑到以后系统的负载,稳妥起见还是需要使用mysql数据库。但是之前已经使用过一段时间了,也有数据了。这就涉及到数据的迁移,网上查了资料,感觉都不太适合,最后自己摸索,成功迁移到mysql8。

一、备份custom文件夹,配置文件app.ini

custom文件夹下面的conf里面有一个app.ini文件,这是gitea的配置文件。删除这个文件夹。

强烈建议先备份这个文件夹,为迁移失败,做好数据库恢复的准备。

二、导出数据文件

使用navicat连接SQLite

from clipboard

然后选择有数据的表,全部记录。类型选择sql文件。

from clipboard

需要到处的表主要如下图:

from clipboard

其实最重要的表有,repository, user, action,repo_unit,protected_branch,action,issue。其他表根据自己需要,可以不用导出。

注意:导出的sql文件中的表名有一个双引号,需要删除掉!

from clipboard

三、创建数据库

创建一个数据库gitea,编码utf8mb4。


四、重启gitea并安装配置gitea

运行gitea-1.11.6-windows-4.0-amd64.exe,因为最开始已经删除了app.ini,所以重新启动gitea后,访问http://localhost:3000会自动跳转到安装界面。

选择数据库类型为mysql并输入数据库链接、账号等信息。

五、导入数据

分别导入上面导出的sql文件,导入数据后用之前的账号就能登录,仓库信息也同步过来了。

from clipboard



小编蓝狐