개요
Confluence버전이 오래 된 버전을 업그레이드합니다.
Confluence 5.10.8 → Confluence 7.3.5
또한, 4byte아이콘을 대응하기 때문에 MySQL버전을 5.6에서 5.7으로 업그레이드합니다(utf8->utf8mb4).
준비 작업
소프트웨어 다운로드:
https://www.atlassian.com/ja/software/confluence/download에서 아래의 Confluence버전을 다운로드한다
atlassian-confluence-7.3.5.tar.gz
https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.33/bin/apache-tomcat-9.0.33.tar.gz에서 Tomcat을 다운로드한다
새 버전의 설치 파일을 컨플루언스 서버 (/home/infra/)에 업로드 또는 wget 등
https://dev.mysql.com/downloads/connector/j/5.1.html에서 아래의 mysql드라이버를 다운로드한다
mysql-connector-java-5.1.48.tar.gz
다운로드 파일을 해제하고, mysql-connector-java-5.1.48/mysql-connector-java-5.1.48-bin.jar를
컨플루언스 서버
(/home/infra/)에 전송
Confluence버전 업
- 서비스 정지
systemctl stop nginx
systemctl stop tomcat
systemctl stop mysqld - 백업으로 AMI작성
- Confluence버전 업
cd /home/infra - tar zxvf atlassian-confluence-7.3.5.tar.gz
chmod 775 atlassian-confluence-7.3.5/confluence
chown tomcat: -R atlassian-confluence-7.3.5/confluence
mv /opt/apache-tomcat-8.0.47/webapps/confluence /tmp/
mv atlassian-confluence-7.3.5/confluence /opt/apache-tomcat-8.0.47/webapps/ - 설정 파일 변경
vi /opt/apache-tomcat-8.0.47/webapps/confluence/WEB-INF/classes/confluence-init.properties
- # confluence.home=/var/data/confluence/
+ confluence.home=/var/data/confluence/
- MySQL Connector파일 갱신
- chown tomcat: mysql-connector-java-5.1.48-bin.jar
mv mysql-connector-java-5.1.48-bin.jar /opt/apache-tomcat-8.0.47/webapps/confluence/WEB-INF/lib/ - /etc/my.cnf설정 변경
transaction-isolation=READ-COMMITTED를 추가하는 - Tomcat버전 업
tar zxvf apache-tomcat-9.0.33.tar.gz
mv /opt/apache-tomcat-8.0.47/bin /tmp
mv /opt/apache-tomcat-8.0.47/lib /tmp
mv apache-tomcat-9.0.33/bin /opt/apache-tomcat-8.0.47/
mv apache-tomcat-9.0.33/lib /opt/apache-tomcat-8.0.47/
chown -R tomcat: /opt/apache-tomcat-8.0.47/bin /opt/apache-tomcat-8.0.47/lib
mv /opt/apache-tomcat-8.0.47 /opt/apache-tomcat-9.0.33
vi /etc/systemd/system/tomcat.service
Apache Tomcat 8
↓
Apache Tomcat 9
apache-tomcat-8.0.47
↓
apache-tomcat-9.0.33
- 서비스 기동
systemctl start mysqld
systemctl start tomcat
systemctl start nginx - 관리 화면에서의 설정
- 포털 페이지 접속
-"공동 편집"을 비활성
-"앱을 관리"중의 활성화된 앱의 버전을 업데이트
MySQL버전 업(5.6→ 5.7)
- 서비스 정지
systemctl stop nginx
systemctl stop tomcat
systemctl stop mysqld - mysql5.6의 삭제
rpm -qa | grep mysql
rpm -e mysql57-community-release-el6-7.noarch
rpm -e mysql-community-client-5.6.38-2.el6.x86_64 mysql-community-libs-5.6.38-2.el6.x86_64 mysql-community-common-5.6.38-2.el6.x86_64 mysql-community-server-5.6.38-2.el6.x86_64 --nodeps - mysql5.7설치
yum localinstallhttps://dev.mysql.com/get/mysql57-community-release-el7-11.noarch.rpm
yum install mysql-community-server
yum install mysql-community-libs-compat
mv /etc/my.cnf.rpmsave /etc/my.cnf - percona-x
rpm -e percona-xtrabackup-22-2.2.13-1.el7.x86_64
yum installhttps://repo.percona.com/yum/percona-release-latest.noarch.rpm
yum install percona-xtrabackup-24 - my.cnf의 설정 변경
아래의 옵션을 삭제
innodb_support_xa
innodb_use_sys_malloc
아래의 옵션을 추가
secure-file-priv = "" - mysql실행
systemctl start mysqld - mysql테이블의 체크와 업그레이드
mysql_upgrade -uroot -p - DB의 문자 코드를 utf8에서 utf8mb4로 변경
vi /etc/my.cnf
character-set-server = utf8mb4
collation-server = utf8mb4_bin
systemctl stop mysqld
systemctl start mysqld
ALTER DATABASE confluence CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;
기존 테이블 컬럼의 문자 코드를 utf8에서 utf8mb4로 변경
SET global FOREIGN_KEY_CHECKS=0;
SELECT CONCAT('ALTER TABLE ', table_name, ' CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;')
FROM information_schema.TABLES AS T, information_schema.`COLLATION_CHARACTER_SET_APPLICABILITY` AS C
WHERE C.collation_name = T.table_collation
AND T.table_schema = 'confluence'
AND
(
C.CHARACTER_SET_NAME != 'utf8mb4'
OR
C.COLLATION_NAME != 'utf8mb4_bin'
) INTO OUTFILE '/tmp/alter-tables.sql';
SELECT CONCAT('ALTER TABLE `', table_name, '` MODIFY `', column_name, '` ', DATA_TYPE, '(', CHARACTER_MAXIMUM_LENGTH, ') CHARACTER SET utf8mb4 COLLATE utf8mb4_bin', (CASE WHEN IS_NULLABLE = 'NO' THEN ' NOT NULL' ELSE '' END), ';')
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'confluence'
AND DATA_TYPE = 'varchar'
AND
(
CHARACTER_SET_NAME != 'utf8mb4'
OR
COLLATION_NAME != 'utf8mb4_bin'
) INTO OUTFILE '/tmp/alter-columns-1.sql';
SELECT CONCAT('ALTER TABLE `', table_name, '` MODIFY `', column_name, '` ', DATA_TYPE, ' CHARACTER SET utf8mb4 COLLATE utf8mb4_bin', (CASE WHEN IS_NULLABLE = 'NO' THEN ' NOT NULL' ELSE '' END), ';')
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = 'confluence'
AND DATA_TYPE != 'varchar'
AND
(
CHARACTER_SET_NAME != 'utf8mb4'
OR
COLLATION_NAME != 'utf8mb4_bin'
) INTO OUTFILE '/tmp/alter-columns-2.sql';
mysql -uroot -p confluence < /tmp/alter-tables.sql
mysql -uroot -p confluence < /tmp/alter-columns-1.sql
mysql -uroot -p confluence < /tmp/alter-columns-2.sql
SET global FOREIGN_KEY_CHECKS=1;
Confluence DB설정 파일의 변경
vi /var/data/confluence/confluence.cfg.xml
- <property name="hibernate.connection.url">jdbc:mysql://localhost/confluence?useUnicode=true&characterEncoding=utf8</property>
+ <property name="hibernate.connection.url">jdbc:mysql://localhost/confluence?useUnicode=true&connectionCollation=utf8mb4_bin</property>
- 서비스 기동
systemctl restart mysqld
systemctl start tomcat
systemctl start nginx - 화면 확인
컨플루언스 포털 접속하여 캐시 클리어:"캐시 관리"→"모두 클리어" - 인덱스 다시 구축:"관리"→"콘텐츠의 인덱스 작성"
'IT > Confluence' 카테고리의 다른 글
Confluence 7.4.5로 업그레이드 (0) | 2021.08.17 |
---|---|
Confluence mysql percona backup 설정 (0) | 2021.08.12 |
Confluence Upgrade (0) | 2021.08.09 |
Confluence 서버 이관 및 재설정 (0) | 2021.08.09 |
Confluence 설정 (0) | 2021.08.09 |