APM 설치시 MYSQL 루트 비번 생성시 ERROR2002
안녕하세요.
페도라 코어 3를 사용하고 있고요. 아직 명령어도 모르는
초보입니다. APM 을 설치하려고 우선 리눅스 바이블 책 한권
옆에 끼고 하는중인데 정말 난해해서 검색하고 구글 뒤지고 해도
해도 하루가 다 간 지금에서야 지푸리기 잡는 심정으로
도움을 청합니다.
우선 APM 까는법도 몰라서 이 블로그에서 시키는 대로 했습니다.
http://blog.naver.com/i2801.do?Redirect=Log&logNo=40009558528
밑에는 받은 프로그램들입니다. ls 입니다.
ZendOptimizer-2.5.7-linux-glibc21-i386 initrd opt
ZendOptimizer-2.5.7-linux-glibc21-i386.tar.gz jpeg-6b php-5.0.2.tar.gz
apache_1.3.27 jpegsrc.v6b.tar.gz proc
apache_1.3.27.tar.gz lib root
bin libxml2-2.6.16.tar.gz sbin
boot libxml2-2.6.16.tar.gz.1 selinux
dev lost+found srv
etc media sys
freetype-1.3.1 misc tmp
freetype-1.3.1.tar.gz mnt usr
home mysql-4.0.23a var
httpd-2.0.52 mysql-4.0.23a.tar.gz
httpd-2.0.52.tar.gz mysql-standard-4.1.9-pc-linux-gnu-i686.tar.gz
mysql은 standard 라고 써있는건 잘 안되는거 같아서 mysql-4.0.23a를
설치했습니다.
구버전이 없어서 각 홈페이지를 돌아다니면서 받았습니다.
까는 순서는 아파치->my-sql ->php 였습니다. 처음에 에러 무시하고
php 까지 깔았다가. 지우는법을 검색해서 ps aux | grep mysql
kill 로 죽이고 /usr/local/ 에 존재하는 php.apache.mysql을 rm -rh로
지우고 다시깔았습니다.
에러는 어떻게 깔아도 똑같습니다.
기초적인 db 생성하고 ./bin/mysql_install_db
후 루트 패스워드 바꾸라고 해서 책에
./bin/mysql -u root 와 ./bin/mysqladmin -u root password 1234
한 결과입니다. mysql.sock 이라는 화일은 /tmp에 존재 하지 않습니다.
어디있는지도 모르겠습니다.
find / -name mysql.sock 이렇게 찾는거 같아 해봤는데 없었습니다.
[root@localhost mysql]# ./bin/mysql -u root
ERROR 2002: Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
[root@localhost mysql]# ./bin/mysqladmin -u root password 1234
./bin/mysqladmin: connect to server at 'localhost' failed
error: 'Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)'
Check that mysqld is running and that the socket: '/tmp/mysql.sock' exists!
이 밑줄친부분에서 직역해보면 mysqld이 실행중인것과 mysql.sock 체크하라
는거 같은데 ps 명령 처보니 아무것도 없었습니다.
물론 저 파일은 tmp에는 없는게 확실합니다.
[root@localhost mysql]# ps aux | grep mysql
root 3992 0.0 0.1 5532 700 pts/1 R+ 01:51 0:00 grep
mysql
하루동안 고생해서 파일받기 압축풀기 configur make make installl 등
많이 배웠습니다. 하지만 제가 원하는것이 APM이기에 꼭 해보고 싶습니다.
윈도우생각이 나 리눅스를 다시깔아볼까 생각중이기도 합니다.
꼭 이버전이 아니어도 좋습니다. 다른 설치방법도 좋습니다.
할수만 있게 해주십시요.
쓰다보니 너무 긴글이 되어서 읽는분께 죄송하며, 읽어주셔서
정말 감사합니다.
하루동안 발로 코파는 기분으로 APM 설치 한 초보였습니다 :cry: :cry:
대충 내용이 mysql서버가 실행되어 있지 않은거 아니에요?간단하
대충 내용이
mysql서버가 실행되어 있지 않은거 아니에요?
간단하게 확인 방법
nmap localhost
그럼 열려 있는 서비스가 있을 겁니다.
그중에
PORT STATE SERVICE
21/tcp open ftp
22/tcp open ssh
80/tcp open http
443/tcp open https
3306/tcp open mysql
3306 번이 있는지 보세요 없음
mysql 서버 실행 시키세요
소스로 설치 했을때 mysqld 파일을 만들어야 합니다.
만드는 방법은 찾아 보심 있을 껍니다.
rpm 설치시 mysqld 파일 내용 입니다
이거 참고 하세요
vi 로 mysqld 라는 파일 만들어서
chmod 755 mysqld
cp mysqld /etc/rc.d/init.d
실행 시키는 방법 service mysqld start 또는 /etc/rc.d/init.d/mysqld start
제가 기억하기론
지금 하는 방법도 많이 틀리진 않을 껍니다.
시작###########
#!/bin/bash
#
# mysqld This shell script takes care of starting and stopping
# the MySQL subsystem (mysqld).
#
# chkconfig: - 64 36
# description: MySQL database server.
# processname: mysqld
# config: /etc/my.cnf
# pidfile: /var/run/mysqld/mysqld.pid
# Source function library.
. /etc/rc.d/init.d/functions
# Source networking configuration.
. /etc/sysconfig/network
prog="MySQL"
datadir="/var/lib/mysql"
start(){
touch /var/log/mysqld.log
chown mysql:mysql /var/log/mysqld.log
chmod 0640 /var/log/mysqld.log
[ -x /sbin/restorecon ] && /sbin/restorecon /var/log/mysqld.log
if [ ! -d $datadir/mysql ] ; then
action $"Initializing MySQL database: " /usr/bin/mysql_install_db
ret=$?
chown -R mysql:mysql $datadir
if [ $ret -ne 0 ] ; then
return $ret
fi
fi
chown -R mysql:mysql $datadir
chmod 0755 $datadir
/usr/bin/safe_mysqld --defaults-file=/etc/my.cnf --pid-file=/var/run/mysqld/mysqld.pid >/dev/null 2>&1 &
ret=$?
# Spin for a maximum of N seconds waiting for the server to come up.
# Rather than assuming we know a valid username, accept an "access
# denied" response as meaning the server is functioning.
if [ $ret -eq 0 ]; then
STARTTIMEOUT=10
while [ $STARTTIMEOUT -gt 0 ]; do
RESPONSE=`/usr/bin/mysqladmin -uUNKNOWN_MYSQL_USER ping 2>&1` && break
echo "$RESPONSE" | grep -q "Access denied for user" && break
sleep 1
let STARTTIMEOUT=${STARTTIMEOUT}-1
done
if [ $STARTTIMEOUT -eq 0 ]; then
echo "Timeout error occurred trying to start MySQL Daemon."
action $"Starting $prog: " /bin/false
else
action $"Starting $prog: " /bin/true
fi
else
action $"Starting $prog: " /bin/false
fi
[ $ret -eq 0 ] && touch /var/lock/subsys/mysqld
return $ret
}
stop(){
/bin/kill `cat /var/run/mysqld/mysqld.pid 2> /dev/null ` > /dev/null 2>&1
ret=$?
if [ $ret -eq 0 ]; then
action $"Stopping $prog: " /bin/true
else
action $"Stopping $prog: " /bin/false
fi
[ $ret -eq 0 ] && rm -f /var/lock/subsys/mysqld
[ $ret -eq 0 ] && rm -f $datadir/mysql.sock
return $ret
}
restart(){
stop
sleep 2
start
}
condrestart(){
[ -e /var/lock/subsys/mysqld ] && restart || :
}
# See how we were called.
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status mysqld
;;
restart)
restart
;;
condrestart)
condrestart
;;
*)
echo $"Usage: $0 {start|stop|status|condrestart|restart}"
exit 1
esac
exit $?
머리가 나쁘면 손발이 고생한다
제 경험에 mysqld 설치후 실행했을때 죽을 경우 가장 먼저 확인하는것
제 경험에 mysqld 설치후 실행했을때 죽을 경우 가장 먼저 확인하는것이
data 폴더의 소유자 입니다. 소유자와 그룹이 mysql 인지 확인하세요.
------식은이 처------
길이 끝나는 저기엔 아무 것도 없어요. 희망이고 나발이고 아무 것도 없어.
댓글 달기