confluence-手动备份恢复

confluence-手动备份恢复

说明

confluence常规备份恢复的方法是通过控制台,站点管理,每日备份管理,由系统自动完成,只需备份备份目录下文件即可。

在某种情况下(比如没有管理员账号,或自动备份失败),可使用拷贝整个confluence文件夹,备份数据库的方式进行备份恢复,下面的例子采用此方法。

环境和版本

1
2
confluence 7.6.1
mysql 8

数据库恢复

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
## rpm安装mysql8,安装完成后先不要启动
## /etc/my.cnf加入如下参数
symbolic-links=0
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
max_allowed_packet = 34M
transaction-isolation=READ-COMMITTED
innodb_default_row_format=DYNAMIC
innodb_log_file_size=2G
character_set_server=utf8mb4
default-storage-engine=INNODB
### 这里先检查备份出来的sql文件,表名是大写还是小写,如果是小写,需要加lower_case_table_names=1
### 此参数mysql中,只能在初始化中修改,详细可搜索此参数含义和用法
lower_case_table_names=1

## 启动mysql
## 创建数据库
### 这里需注意的是,原本数据库的字符集是utf8md4还是uff8,在备份出来的sql文件中,可以找到建表语句确认
CREATE SCHEMA confluence DEFAULT CHARACTER SET utf8 COLLATE utf8_bin ;
## 将备份sql导入,正常情况应该有160个表
### 如数量不对或者报错,可以打开备份出来的sql文件,单独处理

文件恢复

1
2
3
4
5
## 默认安装confluence,默认程序位置/opt,默认用户数据/var
## 解压并替换程序目录/opt下
## 解压并替换用户数据目录/var下
## 创建agent目录,把agent.jar放到目录下(pojie文件)
## 修改配置文件里的数据库链接信息 confluence.cfg.xml

后续

1
## 启动confluence,如不能启动,查看日志输出

破解admin密码

1
2
3
4
5
6
7
8
9
select u.id, u.user_name, u.active from cwd_user u
join cwd_membership m on u.id=m.child_user_id join cwd_group g on m.parent_id=g.id join cwd_directory d on d.id=g.directory_id
where g.group_name = 'confluence-administrators' and d.directory_name='Confluence Internal Directory';

update cwd_user set credential =
'x61Ey612Kl2gpFL56FT9weDnpSo4AV8j8+qx2AuTHdRyY036xxzTTrw10Wq3+4qQyB+XURPWx1ONxp3Y3pB37A=='
where id=上一条sql查出来的ID;

--update后admin密码是admin