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 28834 게시물 읽기
No. 28834
DB dump 질문입니다...ㅠ.ㅠ
작성자
lhj(ds3evm)
작성일
2009-06-18 14:49
조회수
8,357

아시는 분이 없는건가요..ㅠ.ㅠ
벌써 2일째 ㅠ.ㅠ

다시한번 질문을 드리자면...

 
- 작업PC 환경 : xp,  php5(mysql 5)
- 웹서버 환경 : 2000,  php4(mysql 4)

 
1. mysql5에서 작업한 내용을 거꾸로 mysql4로 덤프하려고 하는데 가능하지 여부와
    덤프 방법좀 알려주세요..

    mysqldump -uID -pPW  DB명 > 파일명.sql을 하고.. <- 맞는지 모르겠음..ㅠ.ㅠ


2. 서버에서는 먼저 DB를 생성하고 해야 하는지 아님 바로 가능한지 여부와
    어느 위치에서 해야 하는지 등등 방법좀 알려주세요..ㅠ.ㅠ
    (예를 들면 DB를 생성하면 DB명의 폴더가 생성되는데 그 폴더안에서 해야 하는지...등등..)
    mysqldump -uID -pPW  DB명 < 파일명.sql을 하고.. <- 맞는지 모르겠음..ㅠ.ㅠ
 
 
3. 아래는 답변 주신 분들의 내용인데... 똑같이 해봐서 잘 안돼서요....ㅠ.ㅠ

  >mysql -uid -p db명<파일명.sql 
        
    -> ERROR 1193 at line 23: Unknown system variable 'character_set_client'
    라는 오류가 납니다..ㅠ.ㅠ 
 
   > mysqldump -u아이디 -p 디비명 --compatible=mysql323 --default-character_set=언어셋 > dbdump.sql 

    -> mysql4에서 compatible=mysql323 인식(??)하지 못함.
    -> --default-character_set=언어셋 -> 오류남..

    -> mysqldump -uID -pPW  DB명 < 파일명.sql  ->오류는 나지 않으나 결과가 나오지 않음..

고수님들 도와주세요....ㅠ.ㅠ

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

--compatible=mysql40


을 써보세요.


  --compatible=name   Change the dump to be compatible with a given mode. By

                      default tables are dumped in a format optimized for

                      MySQL. Legal modes are: ansi, mysql323, mysql40,

                      postgresql, oracle, mssql, db2, maxdb, no_key_options,

                      no_table_options, no_field_options.


One can use several modes separated by commas.


Note: Requires MySQL server version 4.1.0 or higher. This option is ignored with earlier server versions.

(이전 버전에서는 지원안한답니다. 3.23 얘기겠지요.)

한정훈님이 2009-06-19 17:52에 작성한 댓글입니다. Edit

차근차근 해보시면 어렵지 않습니다.

1. 기본적으로 다른 버전사이에서 DB를 옮기셔려면 말씀하신 대로 sql 구문 레벨에서 수행하시는 것이 맞습니다.

2. 일반적으로 DB는 미리 생성해두셔야 합니다. 보통의 SQL dump 파일들은 create table 부터 시작하므로, mysqldump 명령에서 DB명 지정을 하는 것은, 어떤 DB를 사용할 것인가에 대한 정보일 뿐입니다. 그러므로 mysqldump시에 사용하는 사용자의 해당 DB에 대한 쓰기 권한이 미리 준비되어 있어야 합니다.

3. SQL dump 된 텍스트 파일 내부에서 character_set_client 부분(1193라인)을 삭제하세요. 대신 SQL dump 파일 상단에 SET NAMES euc-kr과 같이, 원하는 캐릭터셋을 지정하세요.

박현우(lqez)님이 2009-06-22 16:40에 작성한 댓글입니다.

MySQL5 버전으로 mysqldump 를 실행할 경우 

MySQL4 에서 지원하지 않는 명령어가 몇줄 들어가게 됩니다.

그래서 바로 mysql 명령어를 실행하면 등록이 되지 않는 것이죠.


dump 한 파일을 vi 나 다른 에디터로 오픈하신 후

SET 으로 시작하는 아래 구문들을 삭제하신 후 

lhj 님께서 문의하신 내용 중 3번 문항을 실행하시면 됩니다.


SET @saved_cs_client     = @@character_set_client;

SET character_set_client = utf8;

SET character_set_client = @saved_cs_client;



참고로, 박현우님이 1193라인이라고 하셨는데 

1193라인이 아니라 23 라인인 것 같네요....

퀘스트님이 2009-06-23 11:29에 작성한 댓글입니다. Edit

그렇군요, 제가 실수했습니다. 23라인에 ERROR code가 1193이 맞습니다.

박현우(lqez)님이 2009-06-24 15:41에 작성한 댓글입니다.
[Top]
No.
제목
작성자
작성일
조회
28947조건에 따른 필드명 변경 [1]
황현태
2009-06-27
6021
28944급!! MySQL Cluster 문의
급궁금
2009-06-25
5714
28897InnoDB Monitor Output 입니다. 문제가 있는지 좀 살펴봐주세요 ^^;
김승동
2009-06-22
5946
28834DB dump 질문입니다...ㅠ.ㅠ [4]
lhj
2009-06-18
8357
28833right join 은 되는데 left join은 안됩니다;;
김기훈
2009-06-18
5786
28832mysql 중복 입력 버그?
학생
2009-06-18
6144
28776타임스템프 오류 [1]
초보
2009-06-15
6345
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.018초, 이곳 서비스는
	PostgreSQL v16.2로 자료를 관리합니다