• MySQL매뉴얼
    • MySQL 5.6 매뉴얼
    • MySQL 5.1 매뉴얼
    • MySQL 5.0 매뉴얼
    • MySQL HA 매뉴얼
  • 기술문서
    • Xtrabackup 구성
    • 메모리 사용량 모니터링
  • 서비스
    • MySQL유지보수
    • MySQL라이선스
  • 온라인문의
  • 회사소개
  • → 목 록 (MySQL5.1 한글메뉴얼) [close]
  • 1. MySQL 5.1 Reference Manual
  • 2. Installing and MySQL 업그레이드하기
  • 1. 설치 관련 일반 사항
    2. 바이너리 배포판을 사용해서 MySQL을 설치하는 표준 방법
    3. 윈도우에 MySQL 설치하기
    4. RPM 패키지를 사용해서 리눅스에 MySQL 설치하기
    5. Mac OS X에 MySQL 설치하기
    6. Solaris에 MySQL 설치하기
    7. Installing MySQL on NetWare
    8. 다른 유닉스 유사 시스템에 tar.qz 패키지를 사용해서 MySQL 설치하기
    9. 소스 배포판을 사용해서 MySQL 설치하기
    10. 설치 후 설정 및 테스팅
    11. MySQL 업그레이드 하기
    1. MySQL 5.0에서 5.1로 업그레이드 하기
    2. MySQL 데이터베이스를 다른 머신으로 복사하기
    12. MySQL 다운그레이드 하기
    13. OS 관련 노트
    14. 환경 변수
    15. Perl Installation 노트
  • 3. 사용 설명서 (Tutorial)
  • 4. MySQL 프로그램 사용하기
  • 5. 데이터베이스 관리
  • 6. 리플리케이션
  • 7. 최적화 (Optimization)
  • 8. 클라이언트 및 유틸리티 프로그램
  • 9. 언어 구조 (Language Structure)
  • 10. 문자 셋 지원
  • 24. API 및 라이브러리
  • 25. Connectors

2.11. MySQL 업그레이드 하기

 

2.11.1. MySQL 5.0에서 5.1로 업그레이드 하기

2.11.2. MySQL 데이터베이스를 다른 머신으로 복사하기

 

일반적인 규칙에 따라서, 하나의 릴리즈 시리즈에서 다른 시리즈로 업그레이드를 할 경우에는, 시리즈를 건너 띄기 보다는 바로 다음의 시리즈로 업그레이드할 것을 권장한다. 예를 들면, 지금 여러분이 MySQL 4.0을 사용하고 있으면서 새로운 버전으로 업그레이드를 하고자 한다면, 5.0 또는 5.1로 곧장 업그레이드를 하는 대신에 우선 4.1로 업그레이드를 하도록 한다.

 

아래의 사항들은 여러분이 업그레이드를 할 때마다 검사해야 하는 체크 리스트 항목들이다:

  • MySQL 5.0에서 5.1로 업그레이드를 하기 전에 우선 Section 2.11.1, “MySQL 5.0에서 5.1로 업그레이드 하기”를 읽어 본다. 여기에는 새롭게 5.1에 포함된 기능 또는 5.0과의 차이점에 대한 내용이 나와 있다. 만일 5.0 이전 버전으로부터 업그레이드를 하고자 한다면, 5.0으로 직접 업그레이드를 하는 대신에 순차적으로 업그레이드를 한 후, 5.0으로 업그레이드를 하고, 최종적으로 5.1로 업그레이드를 하도록 한다.
  • 업그레이드를 하기 전에, 그랜트 테이블을 갖고 있는 mysql 데이터 베이스를 포함해서 모든 데이터 베이스를 백업 받아두기 바란다.
  • MySQL의 버전 중에는 서로 간에 테이블이 호환되지 않는 것도 있다. 또한, 어떤 버전들은 그랜트 테이블에 새로운 권한 또는 기능을 추가하기 위해 그 구조를 변경하기도 하였다.
  • 윈도우에서 MySQL 서버를 구동시킨다면, Section 2.3.14, “윈도우에서 MySQL 업그레이드 하기”를 참조할 것.
  • 리플리케이션을 사용하고 있다면 Section 6.3.3, “리플리케이션 설정 업그레이드 하기”를 참조하기 바란다.
  • MySQL 5.1.9 이후부터는, mysqld-max 서버가 바이너리 배포판에 포함되어 있다. 이 버전 이후부터는 별도로 MySQL-Max 배포판을 제공하지 않는다. MySQL 5.1.12 이후부터는, 바이너리 배포판에 mysqld-max에 들어 있던 기능을 가지고 있는 서버가 포함되었다.
  • 만일 주어진 이름을 사용해서 사용자-정의 함수 (UDF)를 생성하고 MySQL을 동일한 이름의 새로운 기능이 포함되어 있는 버전으로 업그레이드 한다면, UDF는 사용할 수 없게 된다. 이것을 해결하기 위해서는, DROP FUNCTION을 사용해서 UDF를 제거한 후에 CREATE FUNCTION를 사용해서 별도의 이름을 가진 새로운 UDF를 생성하도록 한다.

동일한 MySQL릴리즈 시리즈 버전 내에서 업그레이드를 한다면 MySQL포맷 파일과 데이터 파일을 서로 다른 버전 간에 언제든지 이동 시킬 수 있다. MySQL을 구동 시킬 때 문자 셋을 변경하고자 한다면, 모든 MyISAM 테이블에서 myisamchk -r -q --set-collation=collation_name을 실행시켜야 한다. 그렇지 않으면, 인덱스를 올바르게 순서화하지 못할 수 있는데, 그 이유는 문자 셋을 변경하면 정렬 순서까지도 변경 시키기 때문이다.

 

새로운 버전을 사용하는 것에 부담을 가진다면, 새로운 버전을 설치하기 전에 예전 mysqld의 이름을 변경시켜 놓도록 한다. 예를 들면, 여러분이 지금 MySQL 5.0.13 을 사용하고 있고 5.1.10 으로 업그레이드를 하고 싶다면, 현재의 서버를 mysqld에서 mysqld-4.1.13로 변경시켜 놓는다. 그런 후에 만약에 새로운 mysqld에 예상하지 못한 문제가 생긴다면, 간단히 이것을 셧다운 시킨 다음에 예전

mysqld를 재 실행시키면 된다.

 

업그레이드를 한 후에, 클라이언트를 재 컴파일 하는데 문제가 발생한다면, 예를 들면 Commands out of sync 또는 예상하지 못한 코어 덤프의 경우, 그것은 여러분이 프로그램을 컴파일할 때 아직도 예전 헤더(header) 또는 라이브러리 파일들을 사용하고 있다는 것이다. 이와 같은 경우에는, 우선 mysql.h 파일과 libmysqlclient.a 의 생성 날짜를 검사해서 이것들이 새로운 MySQL이 생성한 것인지를 확인 한다. 그렇지 않다면, 프로그램을 새로운 해더와 라이브러리를 가지고 컴파일 한다.

 

새로운 mysqld 서버를 구동할 수 없다거나 패스워드 없이 접속하는 것이 불가능하다면, 예전 설치 때 만들어진 my.cnf 파일이 있는지 확인해 본다. 이것은 --print-defaults 옵션을 사용해서 확인할 수 있다 (예를 들면, mysqld --print-defaults). 이 명령어를 실행한 후에 프로그램 이름 이외의 것이 화면에 나타난다면, 서버와 클라이언트의 실행에 영향을 미치는 my.cnf 파일이 존재하는 것이다.

 

MySQL의 새로운 릴리즈를 설치할 때마다 펄 (Perl) DBD::mysql 모듈을 재 설치하고 재 구축하는 것은 좋은 생각이다. PHP mysql 확장자 및 Python MySQLdb 모듈과 같은 다른 MySQL 인터페이스에 대해서도 똑 같은 작업을 하는 것이 좋다.

서울시 강남구 영동대로 602 6층  TEL: 02-6061-0006
주식회사 이노클러스터  등록번호 : 727-86-02261
Copyright © innocluster Co. ltd. all rights reserved