mysql 에러 메세지좀 봐주세요.
mysql를 이전하려고 하는데.
새로깐 mysql이랑 기존의 것이 버전 차이가 있어서.
mysqldump를 통해 이전이 하려고 하니.. 에러메세지가
뜨는데 이해가 쉽지가 않네요.. 물어볼때도 마땅히 없고 이곳에 다시
글을 올립니다. 조언 부탁드릴께요 감사합니다.
데이타 전체 백업하려고 합니다.
우선 이전 서버에서
./mysqldump --opt -u -root -p -all-databases > 파일명.sql
로 데이타를 백업했습니다. --opt옵션은 데이타중 같은 이름을 가진 테이블이 있다고 에러가 뜨길래.. 설정해 준거고요.
이 백업 파일을 옴겨서..
apm를 새로설치한 서버에서(mysql-4.1.11)
./mysql -u root -p < ./파일명.spl
enter password : *********
이런식으로 복구 하려고 하면
ERROR 1064 (42000) at line 542: You have an error in your SQL syntax; check the manual that corresponds to your MYSQL server version for the right syntax to use near '에ㅏ레 ( friend_name varchar(30) NOT NULL default ' ' , clud varchar(30) NOT N' at line 1
이런에러가 뜨네요.. sql 구문을 잘 모르겠고
기존의 것이 오래된 버전이라.. 버전 차이에 의한
syntax 에러라고 생각되서.. 방법을 달리해서
데몬죽이고 mysql 디렉토리명를 변경해준후
기존 서버의 /usr/local/mysql 전체를 tar를 이용해
tar cvfpz mysql.tar.gz mysql/ 로 묶고
그 파일을 가져와 새서버의 /usr/local/에 풀어주었는데
이번에는 데몬을 실행하려고 하니.
/usr/local/mysql/libexec/mysqld: error while loading shared libraries: libstdc++-libc6.2-2.so.3: cannot open shared object file : No such file or directory
라는 에러메세지가 뜨네요
그리고 db들이 저장되는 디렉토리가. 기존의 것은 data고..
새로 이전하고는 곳은 var로 됐는데.. 디폴트값이 data인줄
알았는데 var 로 잡히네요..
이 둘 차이가 있으면.. 이전할때.. 경로때문에.. 문제 생기거나..
그러진 않을까요?? 정확한건.. 디비 옴겨지고 나서.. 게시판에
자료를 올려보면 알겠지만.. ^^;
읽어 주셔서 감사합니다. (--)(__)
우선 mysql만 잘 이전되면 한시름 놀거 같은데..
처음하는 작업이라.. 잘 모르겠습니다. 조언 부탁드릴께요..
그런데 리눅스라는 녀석 한번 잡으면 시간 때우기 좋네요..
다행이 셤기간이 끝났기에 망정이지 ㅡ.ㅡ;;
1.번 방법에서 에러가 나는것은 mysql 4.1이상 버전의 경우 기본적
1.번 방법에서 에러가 나는것은 mysql 4.1이상 버전의 경우 기본적인 character-set이 utf-8이기 때문에 입력하려는 문자를 인지하지 못해서 생기는 문제입니다. 위 경우 iconv를 이용하여 dump받은 파일의 전체적인 character-set을 utf-8로 변경한후 입력해보시기 바랍니다.
2.번의 경우 절대 실행될 수 없는 방법입니다. 서버os 버전마다 사용하는
라이브러리의 버전이 동일하지 않기 때문입니다. rpm or source로 새로설치하여 data디렉토리만 교체하는 식으로 작업을 해야 합니다.
개발자들의 궁극적 비전은 ?
답변해 주셔서 감사합니다.
ssik425님 답변해 주셔서 감사합니다.
mysql 4.1 버전의 왠지 맘이 안들어서.
mysql 4.0.24 버전으로 새로 깔았습니다.
새로운 맘으로. 다시
./mysql -u root -p < ./파일명.sql
를 실행시키니..
이번에는
라고 에러가 뜹니다.
아 정말 쉽지 않네요..
mysqldump 한 곳의 버젼은 MYSQL-3.23.55 이고요
이번에 새로 설치한 것은 MYSQL-4.0.24 입니다.
어서 빨리 홈페이지 게시판들이 정상적으로 운영되었음 좋겠습니다.
읽어 주셔서 감사합니다.
즐거운 하루 되세요^^
음... 작은 문제점때문에 쉽게 이전을 못하고 있는듯하군요...일
음... 작은 문제점때문에 쉽게 이전을 못하고 있는듯하군요...
일단 문제가 발생한 부분의 SQL문을 이곳에 적어 놓아보시죠.
즉, 30904라인의 위로는 CREATE문으로부터 아래로는 TYPE=MyISAM부분까지를
이곳에 올려놓아보세요.(공개가 가능하시다면...)
그러면 좀더 직접적인 도움이 가능합니다.
P.S. : 만일 다음에 이전할 일이 발생하면 그때는 DATABASE별로 따로 백업을 해두는건
어떨까 생각되네요. 차후에 관리도 편리해지고 문제가 발생한 데이터부분만 빼고
임시적으로 홈페이지 운영이 가능하지 않을까 생각되서요... :)
------------------------------
좋은 하루 되세요.
mysql 복구 에러.
글을 써주신 분들 모두 감사합니다.. 많은 도움이 되네요..
제가 해본 작업은
우선 4.1.11이 character-set이 utf-8이기 때문에 입력하려는
문자를 인지하지 못해서 생기는 문제라고 하시고 iconv를 이용하
여 dump받은 파일의 전체적인 character-set을 utf-8로 변경
한후 입력하라고 하셨는데 잘 이해가 안가서 4.0.24 버전으로
복구해 보려고 하고 있습니다.
현재 사용중인 버전은 mysql-3.23.55 입니다.
먼저 dump 를 하려고 할때는
./mysql -u root -p < ./파일명.sql
라고 에러 메세지가 뜨고 있고요..
30904번째 부터의 구문은 다음과 같습니다.
=> 버젼 차이에 따른 syntax에러 같은데 수정할수 있을까요..
비슷한 양식의 구문이 반복되던데..
다음으로는 기존 서버의 /usr/local/mysql/data 데이타디렉토
리만 묶어서 새로설치한 곳에 가져와 /usr/local/mysql/data
로 잡아주는 방법으로 복구해 볼까 하고.. 옴겨 보았는데.
데몬도 잘 돌아가고 디비들도 잘 복구 된거 같습니다.
하지만.. 웹페이지의 게시판에서
=>요청에 맞는 mysql이 아니라는 것 같고 요청에 맞는 데이타 베 이스를 보여줄수 없다는것 같은데..
이분분도 역시 vi 로 열어보니 mysql과 관련된 부분 같네요..
마지막으로 한발짝 물러서서 간밤에는 3.23.55버젼으로 깔아주고 우선 데이타만 복구하고 나중에 비젼 업데이트를 할 생각으로..
3.23.55를 설치하는 과정에서 make 를 해줄때.. 중간쯤 진행되다가오류 라고 하면
서 정상적인 진행이 안되네요.. 정확히 어떤 오류 였는지는 기억이
안나지만. 어디를 들어가고 나감 부분에서 *** [all] 오류 이런식
이었던거 같습니다. 정확하지는 않네요 ㅡ.ㅡ;
가능한 버전업을 하면서 복구 하고 싶은데..
=> 4.0 버젼일때는 make 부분도 잘 넘어가는데.. 왜 그런지
모르겠습니다. 기존의 것 즉 /usr/local/mysql 부분을
지워주고 실행한 것인데요.
역시 왜? 그런가가 중요한데.. 조언 부탁드릴께요 감사합니다.
즐거운 하루 되세요^^
혹시 모르지만 이렇게도 한번 해 보시죠... (db를 root로 dump
혹시 모르지만 이렇게도 한번 해 보시죠... (db를 root로 dump했을 경우)
1. 우선 mysql에 접속합니다. (root로)
2. source (dump떠 놓은 파일 경로와 파일 이름)후 enter
- ex : source /home/backup/db.sql
* 끝에 ;를 붙이지 않습니다.
저도 전에 mysql 3.X --> 4.1로 옮길때 오류가 떠서 이런 방법으로 해결했던 기억이 있습니다.
* 전체 db가 아니라 특정 사용자와 특정 db라면 해당 계정 접속후 해당 use 해당db (enter)
source /home/backup/user.db
도움이 되었길 바랍니다.
좋은 하루 보내세요~
먹고 죽자~
실행후 답변
말씀해 주신 방법도 있군요..
실행해 보니.. 디비들이 복구 되네요..
하지만 역시 웹페이지에서
supplied argument is not a valid MySQL result resource in 식으로 경고들이 ^^;
답변 감사해요.. 하나 더 배웠군요..
제 느낌으로는 디비는 정상적으로 복구 되는데 웹페이지에서
보여주는 설정에서 먼가 제가 모르는 것이 있는거 같아요..
좋은 주말 되세요.
즐거운 하루 되세요^^
supplied argument is... 에 대한 검색을 실시하니 아래
supplied argument is... 에 대한 검색을 실시하니 아래와 같은 문서가 나오네요.
http://www.karakas-online.de/EN-Book/warning-mysql_fetch_row-supplied-argument.html
어차피 mysql_error ()를 호출하면 어떤 원인인지 나올테니 한번 추적을 해보세요. :)
P.S. : 최초 SQL의 경우 DROP때문에 발생한 것같이 보이네요.
제가 덤프받은 DB에서는 DROP이라는 명령어가 없었는데(3.23.44) MySQL사이트에서
찾아보니
http://dev.mysql.com/doc/mysql/en/show-warnings.html
이런 방식으로 경고를 주기는 한다고 합니다.
어쨌든 명확한 해결방법은 아닌것 같네요. :oops:
------------------------------
좋은 하루 되세요.
댓글 달기