온라인이 아닌 오프라인 환경이나, 기타 특별한 이유로 인해 yum 등의 패키지 관리 툴을 사용할 수 없을 때 MySQL 버전을 수작업으로 업그레이드하려면 아래와 같이 진행을 하면 됩니다.
개요
In-Place Upgrade (교체식 업그레이드) 방식으로 진행
MySQL 공식 사이트의 원문을 참고하려면 아래 링크를 참고하세요.
https://dev.mysql.com/doc/refman/5.7/en/upgrade-binary-package.html
업그레이드 순서
1. (Inno DB XA 트랜잭션을 사용할 경우) 커밋되지 않은 트랜잭션을 체크하기 위해 XA RECOVER
실행
=> (정리할 트랜잭션이 있는 경우) XA COMMIT
또는 XA ROLLABCK
을 실행하여 트랜잭션 정리
2. 슬로우 셧다운을 위해 innodb_fast_shutdown
을 0으로 설정
mysql -u root -p --execute="SET GLOBAL innodb_fast_shutdown=0"
3. 이전 버전의 MySQL 서버를 다운시킨다.
mysqladmin -u root -p shutdown
4. 업그레이드할 버전의 MySQL을 설치한다.
Installing MySQL on Unix/Linux Using Generic Binaries
https://dev.mysql.com/doc/refman/5.7/en/binary-installation.html#binary-installation-unpack
5. 설치된 MySQL 5.7 서버를 실행한다.datadir
옵션의 값은 기존 MySQL 서버에서 사용하던 데이터 디렉토리 패스를 넣는다.
mysqld_safe --user=mysql --datadir=/path/to/existing-datadir &
6. mysql_upgrade
를 실행한다.mysql_upgrade
는 모든 데이터베이스 및 모든 테이블이 현재 버전의 MySQL 서버와 호환되지 않는 부분이 없는지를 검사하고, mysql 시스템 데이터베이스를 업그레이드합니다.
mysql_upgrade -u root -p
7. MySQL 서버를 재시작합니다.
mysqladmin -u root -p shutdown mysqld_safe --user=mysql --datadir=/path/to/existing-datadir &
참고
기동 작업 등을 할 때 기존 my.cnf 설정파일을 사전에 확인하도록 합니다.
/etc/my.cnf
MySQL 백업 방법
업그레이드를 수행하기 전에 SQL 포맷 덤프 파일 생성 방법은 아래와 같습니다.
기본적으로 mysqldump
는 표준 출력으로 덤프파일을 생성합니다.
mysqldump [arguments] > file_name
모든 데이터베이스의 덤프를 생성하기 위해서는 아래와 같이 --all-databases
옵션을 사용하면 됩니다.
mysqldump --all-databases > dump.sql
'IT 라이프' 카테고리의 다른 글
JBoss EAP의 Datasource (DB Pool) 모니터링 및 최소값 설정 방법 (0) | 2023.08.11 |
---|---|
공인 쿠버네티스 자격증 알아보기 (CKA, CKAD, CKS, KCNA) (1) | 2022.04.04 |
[Visual SVN] pre-commit hook 샘플 - 커밋 메세지 또는 이슈번호 입력 체크, 삭제 금지 등 (0) | 2021.08.24 |
신형 맥북 프로 16형에 탑재!? 애플 M1X - 유출 정보 총정리 (0) | 2020.12.24 |
[Python] 판다스 (Pandas) 기초 - 데이터프레임(DataFrame) (0) | 2020.10.21 |