Gogs远程仓库迁移
场景:因服务器A要停用,将服务器A中gogs服务迁移到服务器B中;保证B中gogs服务无任何异常后,才可释放A服务器
一、准备工作:
服务器A:192.168.1.20
服务器B搭建mysql5.7数据库 192.168.1.30
服务器B搭建gogs远程仓库 192.168.1.30
二、gogs仓库迁移
1、备份gogs仓库
服务器A中代码仓库目录:(根据搭建gogs仓库的参数设置来的) /server/docker/gogs/data/git/gogs-repositories 备份: tar -zcvf gogs-repositories.tar.gz gogs-repositories
2、备份数据库
使用navicat客户端连接mysql数据库,导出数据库结构和数库(gogs.sql) 或者在服务器:mysqldump -h localhost -u gogs -P 3306 --no-tablespaces -p gogs> /root/gogs.sql
3、登录数据库B创建账户、授权
登录mysql数据库,并执行: create database gogs; #创建gogs数据库 grant all privileges on gogs.* to gogs@'%' identified by 'gogs'; #创建用户并授权 flush privileges; #刷新权限
4、还原数据库
使用navicat客户端登录数据库,将gogs.sql导入
或者在服务器mysql命令
use gogs
source /root/gogs.sql
5、访问gogs页面,配置信息
访问gogs页面:192.168.1.30:10080 填写安装程序所需的信息:
根据实际情况配置,图上信息不正确,只是展示用
6、替换gogs仓库
将A服务器备份的gogs-repositories上传到服务器B,替换gogs仓库
然后重启服务器B的gogs服务:
docker restart gogs
迁移完成。如没有任何问题,观察几天再释放服务器A,以免出错。
如想更换mysql数据库,修改/server/docker/gogs/data/gogs/conf/app.ini 文件中mysql数据库信息,更重启gogs即可。
作者:等风来~~
本博客所有文章仅用于学习、研究和交流目的,欢迎转载。
如果觉得文章写得不错,或者帮助到您了,请点个赞。
如果文章有写的不足的地方,请你一定要指出,因为这样不光是对我写文章的一种促进,也是一份对后面看此文章的人的责任。谢谢。