본문 바로가기

데비안 리눅스 설치 가이드/MySQL

[MySQL] MySQL 설치하기 2부 - MySQL 5.6 설치 및 5.7 업그레이드 하기

반응형

소개


1부에서는 MySQL 5.6을 직접 설치했다.

이제 MySQL을 업그레이드 하는 방법을 알아보고자, 아직 정식 릴리즈되지 않은 개발버전인 MySQL5.7을 테스트로 설치해 보도록 하자.




1. MySQL 업그레이드 하기



1. 압축 해제

우선 MySQL5.7을 받아서 1부에서 했던 과정대로, /usr/local디렉토리에 압축 해제까지 하도록 한다. (1, 2과정)

여기까지 진행했다면 아래와 같은 구조로 되어있을 것이다.





위 구조를 보는 것 같이 심볼릭 링크인 mysql은 /usr/local/mysql-5.6.11-linux-lgibc2.5-x86_64를 가리키고 있다.

그리고 압축을 해제한 진짜 디렉토리가 각각 버전별로 있다.





잠시 정리한 것을 보면 /etc/profile에 등록한 PATH 경로가 심볼릭 링크로 설정되어 있기 때문에 어느 위치에서도 명령어 사용시 심볼릭 링크에 걸려있는 MySQL이 실행되도록 되어있다.

현재는 빨간색 화살표인 5.6버전이 서비스중이며, MySQL 업그레이드시 빨간색 화살표에서 파란색 화살표로 바꾸면 된다.


2. 소유자 변경

여기서부터는 2가지의 업그레이드 방법이 있다.

1 엔진을 교체한다.

2. 엔진과 DB를 교체한다.


첫번째 방법은 매우 빠른 시간내에 서비스를 재개할 수 있지만 메이저 업데이트에는 사용 하기가 힘들다.

두번째 방법은 DB양에 다르지만 메이저 업데이트를 사용 할 수 있다.



2-1. 엔진만 교체


엔진만 교체한다는 것은 mysql_install_db를 실행해 DB를 설치하는 과정을 생략하고 새 프로그램만 사용한다는 뜻이다.



1. 소유자를 변경한다.

cd /usr/local/mysql-5.7버전

chown -R root:mysql .



2. 사용자에게 제공하는 서비스를 중단시킨다.

홈페이지 접근을 막아서 MySQL 접속을 차단한다.



3. MySQL서비스를 중단한다.

service mysql stop



4. 심볼릭 링크를 바꾼다.

심볼릭 링크를 새로운 버전인 5.7 디렉토리를 가리키도록 바꾼다.

cd /user/local/

ln -Tfs /usr/local/mysql-5.7버전 mysql



5. 서비스 재개

service mysql start



6. 사용자에게 제공하는 서비스 시작

홈페이지 접근을 푼다.



이 방법으로 엔진만을 교체했다.

메이저 업데이트를 사용하기엔 힘들다고 했는데 주된 이유가 쿼리문 변경 혹은, DB구조가 바껴서이다.

대표적인것이 5.5 이하 버전에서 5.5로 업그레이드인 경우인데, 기본 5.5에서부터 기본 DB가 InnoDB로 변경되기 때문이다.

(여기서는 5.6에서 5.7인 메이저 업데이트를 가지고 예를 들었지만 실제 서비스에서는 마이너 업데이트 즉, 5.6.xx에서 5.6.xx로 업그레이드때에만 엔진만 교체하는 것이 좋다고 생각하면 되겠다. 여담으로 크게 DB구조가 바뀌지 않으면 메이저 업데이트도 괜찮을 지도.....?)


압축 해제한 디렉토리를 삭제하지 않는다면 언제든지, 하위 버전으로 쉽게 돌아갈 수 도 있다는 장점이 있다.


PS. 1, 2번 과정 뒤에 바로 4번과정을 시행후 MySQL을 바로 restart 시켜도 된다.




2-2. 엔진과 DB 모두 교체


메이저 업데이트인 경우 해당된다.


1. DB를 백업한다.

DB 구조가 변경 될 수 있으니 우선 DB 데이터를 백업하도록 한다.


2. 소유자를 변경한다.

cd /usr/local/mysql-5.7버전

chown -R root:mysql .



3. 사용자에게 제공하는 서비스를 중단시킨다.

홈페이지 접근을 막아서 MySQL 접속을 차단한다.



4. MySQL서비스를 중단한다.

service mysql stop



5. DB를 설치한다.

DB 설치시 DB 데이터 장소를 주도록 한다. 여기서는 DB 데이터 장소가 /var/mysql/data이다.

cd /user/local/mysql-5.7버전/

scripts/mysql_install_db --datadir=/var/mysql/data --user=mysql



6. 심볼릭 링크를 바꾼다.

심볼릭 링크를 새로운 버전인 5.7 디렉토리를 가리키도록 바꾼다.

cd /user/local/

ln -Tfs /usr/local/mysql-5.7버전 mysql



7. 서비스 재개

service mysql start



8. 사용자에게 제공하는 서비스 시작

홈페이지 접근을 푼다.



만약 업그레이드 후에 정상적으로 실행이 안되는 경우 백업한 DB를 이용해서 복구하도록 한다.



관련글

2013/05/08 - [컴퓨터/Debian] - [Debian] 데비안 리눅스에 MySQL 5.6 설치 및 5.7 업그레이드 하기 - 1부


반응형