database.sarang.net
UserID
Passwd
Database
DBMS
ㆍMySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
MS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MySQL Q&A 27961 게시물 읽기
No. 27961
Mysql version upgrade 문의 드립니다. (__)
작성자
김현수(allspeed)
작성일
2009-01-07 12:55
조회수
4,915

안녕하십니까. Mysql 초보관리자 입니다.


새해 복 많이 받으시길 바랍니다.


제가 이번에 예전 DB서버 2대를 하나로 합치는 작업을 하게 되었습니다.

기존 DB서버의 MySQL 버젼이 많이 낮아서 5.0.75로 업그레이드 하려고 합니다.

old.서버1의 서버의 DB의 개수와 양이 얼마 되지 않아서 old.서버2를 먼저 옮겨놓고

할려고 합니다.


환경은 다음과 같습니다.

----------------------------

old.서버1

Mysql 3.23.35

DB 3개

User 3

euckr


old.서버2

Mysql 3.23.37

DB 40개

User 40

euckr


신규서버

Mysql 5.0.75

UTF-8

----------------------------


신규서버와 기존서버와의 버전 차이가 많아서 단순한 mysqldump로 back하면 되는지 아니면 무슨 option을 넣어 줘야하는지

알고 싶습니다. 여기 자료실과 Q&A의 자료를 몇일 째 열심히 보고 있지만 걱정이 되어서 이렇게 질문 드립니다.


restore할 때 euckr -> utf-8 로 변경해야 합니다.

또, restore할 때 Mysql 계정정보를 Backup해서 그대로 넣을 수 있습니까?


여러가지 질문드려 죄송합니다. (__);;


이 글에 대한 댓글이 총 2건 있습니다.

안녕하세요 박성원입니다. 

DB 마이그레이션작업을 진행하시는군요!!! 정말이지 최악의 작업이지요 ^^


제가 남긴 글중에 도움이 되는 글이 있으리라 사료됩니다. 

그전에 약간의 언급을 하지만

우선 질문자님의 작업환경이 문자셋이 바뀌는걸로 보여지는데요 

euckr ---> utf-8 로의 마이그레이션을 준비할때

1. dump를 뜰때 기본 캐릭터셋을 utf-8로 지정해주시고 

2. dump 파일의 text를 utf-8의 포멧으로 변경하면됩니다(에디트프로그램을 이용 : ex) 울트라에디트)

3. dump 파일을 새로 세팅된 DB에 import 합니다. 

4. 작업이 완료 되면 각 테이블의 한글데이터가 깨져있는지 수동으로 확인합니다. 

5. insert 및 update를 통한 한글 데이터 입, 출력을 테스트합니다. 


이정도로 하면 되겟네요

중간중간에 캐릭터셋 설정법이 있습니다. 다른 문서를 참고하시면 될꺼에요 ^^




그럼 건승하시길...^^

박성원(darkancia)님이 2009-01-07 14:16에 작성한 댓글입니다.

안녕하세요.

mysql 5.x는 이전 버전보다 데이타의 무결성을 더 정밀하게 체크합니다.

그래서 말씀하신 것처럼 단순히 dump로 백업을 받아서 마이그레이션 하시면 데이타 손상이나

캐릭터셋에 문제가 발생할 수 있습니다.


그래서 좀 손이가더라도 간단한 마이그레이션 프로그램을 작성하여

데이타베이스를 이전하는 것도 좋은 방법입니다.


1. 신 서버에 각 DB/Table을 생성합니다.

   (EMS SQL Manager의 Tools>Extract Database를 이용하시면 Structure만 쉽게 백업받을 수 있습니다. 백업받은 DDL에서 인코딩 선언 부분만 UTF-8로 변경해 줍니다.)


2. UTF-8로 인코딩된 프로그램을 작성하여 구디비와 신디비에 동시에 접속합니다.

   이때 구디비는 euckr로 신디비는 utf8로 설정을 잡아줍니다.

   (예, SET NAMES euckr; SET NAMES utf8;)


3. 구디비의 테이블 데이타를 select하여 신디비에 insert합니다.

   이 때 구디비의 값을 utf-8로 인코딩 변경해주어야 합니다.


위의 과정에서 데이타 입력시 에러가 발생할 수 있는데, 그때마다 원인을 확인하여 수정해줍니다.


그럼...

이순연(odop)님이 2009-01-08 13:36에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
27964단순 쿼리 속도가 너무 느립니다. [4]
안중경
2009-01-07
6120
27963mysql에서 table 'tablename' is marked as crashed and should be repaired
임시손님
2009-01-07
5012
27962Table lock과 MyISAM 에 관한 질문입니다. (re:query explan에 대한 문의) [1]
박성원
2009-01-07
5393
27961Mysql version upgrade 문의 드립니다. (__) [2]
김현수
2009-01-07
4915
27960buy vicodin
vicodin
2009-01-07
5623
27959가상의 일련번호 주기 [2]
나그네
2009-01-06
5133
27957odbc로 외부에서 연결시 에러.. [1]
구로머신
2009-01-06
6494
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다