마스터포유(Master4U)
Monday, 17 of January
 

로그인 Category
MYSQL 실행시 나타나는 오류 및 대처방법[펌]
관리자  2012-08-25 12:45:09 Hit:5883
링크 #1: http://search.naver.com/search.naver?where=nexearch&query=+Fatal+error%3A+Can%27t+open+and+lock+privilege+tabl&sm=top_hty&fbm=1&
링크 #2: http://cafe.naver.com/elysions/123


1. ./configure 시에 에러
증상1

checking for tgetent in -lncurses... no
checking for tgetent in -lcurses... no
checking for tgetent in -ltermcap... no
checking for termcap functions library... configure: error: No curses/termcap library found
[root@localhost mysql-4.0.13]# make
make: *** No targets specified and no makefile found. stop.

Q1 : 왜 이런 메세지가 뜨냐?

A1: gcc가 없던지 PATH가 안잡혀 있는 경우



Q2 : configure: error: no acceptable C compiler found in $PATH
설치를 잘못 한건가?
[root@localhost mysql-4.0.13]make 실행 시
make: *** No targets specified and no makefile found.  멈춤.
메세지 뜨는데 어케?

A2 : 리눅스에 gcc가 설치됐는지 확인하라.
# rpm -qa| grep gcc

2. 소스 설치시 "NOTE: This is a MySQL binary distribution." 라는 메시지의 경우
Q : It's ready to run, you don't need to configure it! 나옵니다. 이유가?

A : 컴파일이 필요없는 바이너리를 받은거 같다. 이미 컴파일한 거다.
  압축풀고 적당한 위치로 이동시켜라.

tar zxvf mysql-xx.xx.tar.gz
mv mysql-xx.xx /usr/local/
ln -s /usr/local/mysqlxx.xx /usr/local/mysql

3. mysql을 실행하면 (2)번 에러
Q : ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/m
ysql.sock' (2) 무슨 에러인지요?

A : 데몬 구동시 ./safe_mysqld --user=mysql & 실행 시켜보라.
그래도 에러가 날 경우 ln -s /tmp/mysql.sock /var/lib/mysql/mysql.sock 해보라.

4. mysql.sock 중에 (40)번에러
Q : ERROR 2002: Can't connect to local MySQL server through socket '/var/lib/mysql/m
ysql.sock' (40)

A : chown mysql.mysql -R /var/lib/mysql 를 하기 바란다.
그리고 참고로 php에서의 mysql socket 은 /etc/php.ini 에서 경로를 수정할 수 있다.

5. mysql 데몬이 죽어버릴때
Q : # ./mysqld_safe &
    chown mysql .. <-- 비슷한 오류가 뜨면서 데몬이 죽어버린다.어케?



A : 레드햇 리눅스라면 groupadd 와 useradd 에 '-r' 옵션을 사용하라.
# useradd -r -d /usr/local/mysql mysql
이렇게 하면 500 보다 작은 UID, GID를 가진 mysql 그룹과 사용자가 생성된다.


6. mysql 실행시 데몬 바로 죽음
Q :

030527 22:33:39  mysqld started
030527 22:33:39  Can't start server: Bind on TCP/IP port: 주소가 이미 사용 중

030527 22:33:39  Do you already have another mysqld server running on port: 3306 ?
030527 22:33:39  Aborting
030527 22:39:50  /usr/local/mysql/libexec/mysqld: Shutdown 이 완료됨!
030527 22:39:50  mysqld ended

A : 3306 포트에 이미 다른 mysqld 가 실행되고 있다.
# vi /mysql/scripts/mysql_config 을 열어서 포트번호 수정.


7. mysql-4.0.12 설치후 데몬이 안띄워지고 바로 죽을 경우.
Q 정상적으로 소스 설치하고 나서,,
  /usr/local/mysql/bin/mysqld_safe & 실행하면,,, 데몬이 시작하자 마자 바로 죽는다.
./safe_mysqld Starting mysqld daemon with databases from /usr/local/mysql/var
   mysqld ended
에러 메세지를 보기 위해 /usr/local/mysql/var 로 이동  vinnylover.err 파일을 열어보니

아래와 같은 메세지가 있더군.
mysqld started
InnoDB: Started
Fetal error: Can't open privilege tables: Can't find file: ' ./mysql/host.frm'(errno: 13)'
Aborting

A : mysql_install_db 스크립트를 실행해서 초기 테이블을 생성.
   # ./mysql_install_db 하면 된다. (/usr/local/mysql/bin 아래에서 하라)

8. mysql sock 에러 문제의 확실한 해결법
Q : 접속하면 >/var/lib/mysql/mysql.sock ... (111)


A : 디렉토리 퍼미션 문제
# killall mysqld
# chmod 755 -R /var/lib/mysql

# chown mysql.mysql -R /var/lib/mysql
# mysqld_safe --language=korean &

9. make 명령어를 실행하면 설치가 해제

Q : make[2]: *** No rule to make target `ctype-euc_kr.lo', needed by `bmove_upp.lo'. 멈춤.
make[2]: 나감 `/usr/local/down/mysql-3.23.38/libmysql' 디렉토리
make[1]: *** [all-recursive] 오류 1
make[1]: 나감 `/usr/local/down/mysql-3.23.38' 디렉토리
make: *** [all-recursive-am] 오류 2

A : 먼저 LD_LIBRARY_PATH에 모든 라이브러리 경로가 들어가 있어야 한다.
이런 경우때문에 필요한 라이브러리를 찾지못해 에러가 발생.
거의 필요한 패키지를 설치했는데도 에러가 나면 LD_LIBRARY_PATH를 확인해볼 필요가 있다.

10. mysql 설치시 gcc에러나는데 해결책

Q :

# ./configure --prefix=/usr/local/mysql --with-charset=euc_kr
checking for c++... c++
checking whether the C++ compiler (c++   ) works... no
configure: error: installation or configuration problem: C++ compiler cannot create executables.

A : rpm으로 찾아서 다 설치하고 나서 컴파일 하면 된다.
rpmfind.net에서 찾으실 수 있습니다. 에러 보고 하나하나 다 설치하면 된다.

11. 인스톨 설치도중 103 에러
Q : an error occured move data process: -103
compenent : server

A : mysql 설치된 폴더를 완전시 삭제 후 재설치

12. mysql설치 시 invalid user 오류

Q : chown: mysql: invalid user
Starting mysqld daemon with databases from /usr/local/mysql/data
030417 11:42:35  mysqld ended

A : mysql 이란 유져가 유효하지 않다라는 에러로써 현재 mysql이란 계정이 존재하지 않기때문에 나는 에러

# /usr/sbin/useradd mysql -M -s /bin/false

# chown -R root /usr/local/mysql
# chown -R mysql /usr/local/mysql/var
# chgrp -R mysql /usr/local/mysql

13. mysql 4.0.12 설치 시 "Check your system clock" 오류
Q

# ./configure --prefix=/usr/local/mysql --with-charset=euc_kr
이렇게 했는데 다음과 같은 메세지의 경우....
checking build system type... i686-pc-linux
checking host system type... i686-pc-linux
checking target system type... i686-pc-linux
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... configure: error: newly created file is older than distributed files!
Check your system clock

A : mysql이 개발된 시간보다 현재시간 차이로 생기는 문제
인터넷(네트웍)이 되는 상황이라면
# date

# rdate -s time.bora.net   => rdate -s time.nuri.net와 같이 다른서버로 해도 된다.

# date


14. 설치시 configure: error: no acceptable cc found in $PATH 에러
Q :

configure: error: no acceptable cc found in $PATH


A : cc 즉 c complier 가 없다
c 컴파일러가 PATH에 안잡혀 있을 수 있다. path를 추가하거나 gcc를 재설치

# vi /etc/profile

PATH=$PATH:.:/usr/local/mysql/bin

15. config시 ERROR: 1062 Duplicate entry 'localhost-root' for key 1
Q : mysql 소스설치 config시 에러의 경우

rpm버전 삭제했는데 데몬이 살아 있나? ps -ax | grep mysql 하면 암것도 안나온다.
ERROR: 1062 Duplicate entry 'localhost-root' for key 1
ERROR: 1062 Duplicate entry 'localhost-root' for key 1
030312 14:58:03 ./bin/mysqld: Shutdown Complete

A : 캐시에 이전데몬이 살아있기 때문이다.
kill  또는 killall 명령으로 프로세스를 완전히 죽이고 설치하라

16. configure 에러로 "error : No curses/termcap library found" 에러?
Q : checking for termcap functions library...
configure: error : No curses/termcap library found

A : libtermcap-devel-xxx 패키지가 필요해서 발생하는 에러
설치시디를 넣으시고 설치를 하면 해결된다.

-----------------------------------------------------------------------------------
본문인쇄본문메일발송
mysql 소유 테이블 모두 삭제하는 스크립트
had no or invalid character set, and default character set is multi-byte
Copyright 1999-2019 Zeroboard / skin by ChanBi