FreeBSD에 mySQL 설치 문의 입니다.
글쓴이: dohyu / 작성시간: 월, 2005/10/24 - 7:23오후
FreeBSD를 공부하고 있습니다.
4.11 에서 포트로 mysql41-server 를 설치하였습니다.
그냥 make install clean으로
/usr/local/bin/mysql_install_db 를 실행하니까 아래와 같은 메시지가 뜨네요..[Warning] Changed limits: max_open_files: 151 max_connections: 100 table_cache: 64
그리고 데몬 실행할때 아래와 같은 로그가 남습니다.
051022 08:38:57 mysqld started 051022 8:38:57 [Warning] Changed limits: max_open_files: 151 max_connections: 100 table_cache: 64 051022 8:38:57 [ERROR] bdb: /var/db/mysql: Permission denied 051022 8:38:57 [ERROR] bdb: /var/db/mysql/log.0000000001: Permission denied 051022 8:38:57 [ERROR] bdb: PANIC: Permission denied 051022 8:38:57 [ERROR] bdb: PANIC: DB_RUNRECOVERY: Fatal error, run database recovery 051022 8:38:57 [ERROR] bdb: fatal region error detected; run recovery 051022 8:38:57 [ERROR] bdb: /var/db/mysql: Permission denied 051022 8:38:58 InnoDB: Operating system error number 13 in a file operation. InnoDB: The error means mysqld does not have the access rights to InnoDB: the directory. InnoDB: File name ./ibdata1 InnoDB: File operation call: 'create'. InnoDB: Cannot continue operation.
어떻게 해결해야 하나요??
제가 잘 몰라서 자세한 해결방법 부탁드립니다.
Forums:
[quote]051022 8:38:57 [ERROR] bdb: /va
퍼미션 에러네요
mysql 구동을 root로 하셨는지 일반계정으로 하셨는지 확인하세요
Debian Spirit !!!
해결했습니다~
확실히 퍼미션 문제가 맞습니다.
데몬 실행시 root 로 실행했었구요..
/etc/passwd 확인해보니까 mysql로 데몬실행하는 건 아닌것 같더라구요..
port 에서 make install clean 으로 설치하니까 기본적으로 데이터파일 저장위치가 /var/db/mysql 인데, 디렉터리 owner 가 root 로 되어 있어 mysql로 변경한 후 정상적으로 동작합니다.
원래 데이터 파일의 owner가 mysql이여야 하는것 같은데요..
리눅스와는 꽤나 달라 당황했었습니다.
참고로 FreeBSD에서 port로 mysql 설치시
/usr/local/mysql/bin 에 명령어들은 /usr/local/bin 으로,
.cnf 등 설정 파일과 설치소스들은 /usr/local/share/mysql 으로,
Data 파일들은 /var/db/mysql 에 설치됩니다.
이상입니다.
오늘도 행복하시더~!!
포트에서 마이에스큐엘 설치할때 mysql_install_db를 실행할 필
포트에서 마이에스큐엘 설치할때 mysql_install_db를 실행할 필요가 없을껀데요? 저는 실행해본 기억이 없습니다.
/usr/local/etc/rc.d/mysql-server.sh start|restart|stop
하는 과정에서 자동으로 만들어 지는 걸로 알고 있습니다. mysql-server.sh 스크팁트를 살펴보면 필요할때 mysql_install_db를 실행하는 부분이 있을껍니다.
--
Good design requires compromise.
프비의 경우 /usr/local/bin/rc.d/ 밑에 거의 대부분의 실
프비의 경우 /usr/local/bin/rc.d/ 밑에 거의 대부분의 실행 스크립트가 들어있습니다.
/etc/rc.conf에 mysql_enable="YES"를 넣어주시고
/usr/local/etc/rc.d/mysql.sh start를 해주시면 /var/db/mysql에 자동으로 모든걸 해결해줍니다.
프비만의 장점이라고나 할까요 어플들의 실행 스크립트를 편하게 자동으로 만들어 주지요. :)
[quote]/etc/rc.conf에 mysql_enable="YES"를
/usr/local/etc/rc.d/mysql-server.sh start 해보니까 무반응이더라구요..
/etc/rc.conf에 mysql_enable="YES" 넣어주고 해보니까 바로 되네요..
답변 진심으로 감사드립니다. ( ^^)/
사족을 달자면.. 5.x대에서는 /etc/rc.conf에 _enable=
사족을 달자면.. 5.x대에서는 /etc/rc.conf에 _enable="YES"를 입력해야 구동되는 어플들이 좀 많아 졌습니다.
/usr/loca/etc/rc.d밑에 있는 실행 스크립트들이 아무런 반응을 안할때가 있는데...
각 실행 스크립트를 열어보면(대부분 perl로 되어 있습니다.) /etc/rc.conf에서 뭔가를 찾는 부분이 나오죠...
이런게 있으면 /etc/rc.conf에 _enable="YES"를 넣어 주면 잘 작동합니다.
[quote="kowdream"]사족을 달자면.. 5.x대에서는 /etc
5.x라서 그런게 아니라 최근의 ports에는 그런 경우가 많습니다. 아직 모든 서버 어플리케이션이 그렇게 된 것은 아니어서 구분하기 조금 힘들긴 합니다.
--
익스펙토 페트로눔
/etc/rc.conf mysql_dbdir="db
/etc/rc.conf
mysql_dbdir="db경로" <= 추가.
데이터베이스 경로 임의 설정도 가능합니다.
/etc/my.cnf 파일을
/etc/my.cnf 파일을 추가하여
[mysqld]
datadir=db경로
위처럼 설정도 해줘야하는군요.
댓글 달기