-
쎄지오에서 MySQL 세팅하는 방법개발 2009. 8. 30. 17:31
쎄지오 웹데몬은 PHP5.2.x 버전을 데몬으로써 제공하고 있기 때문에 PHP 는 별도로 설치하거나 세팅할 필요가 없다. DBMS 는 PostGreSQL과 연동하기에 가장 최적화되어 있으며 별도의 MySQL 이나 오라클의 경우에는 약간의 설정이 필요하다. 여기에서는 MySQL과 연동부분을 설명한다.
PHP는 MySQL과 연동을 위해 mysql.sock 파일 호출한다.
PHP 설정에 따라 이 파일을 호출하는 위치는 다르겠지만 쎄지오에서는 '/tmp/mysql.sock' 파일을 이용한다.
하지만 일반적인 경우 MySQL은 '/var/lib/mysql/mysql.sock' 위치에 파일을 생성시킨다.
다음은 레드햇 계열에 설치되어 있는 MySQL의 설정 파일이다.
[/etc/my.cnf]
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid방법은 두가지이다.
하나는 MySQL의 설정을 변경하여 mysql.sock 의 위치를 '/tmp/mysql.sock' 에 생성되게 하던지
아니면 PHP에서 데이터베이스에 연결시 mysql.sock의 경로를 지정해주는 것이다.
다음은 MySQL에서 mysql.sock의 파일이 생성되는 위치를 '/tmp' 로 변경시키는 것을 보여준다.
[/etc/my.cnf]
[mysqld]
datadir=/var/lib/mysql
socket=/tmp/mysql.sock
# Default to using old password format for compatibility with mysql 3.x
# clients (those using the mysqlclient10 compatibility package).
old_passwords=1
[mysqld_safe]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
socket=/tmp/mysql.sock
[client]
socket=/tmp/mysql.sock
[mysql.server]
user=mysql
basedir=/var/lib
socket=/tmp/mysql.sock
다른 또하나의 방법은 MySQL의 설정을 변경하지 않고 PHP 코드 내에서 mysql.sock의 위치를 지정하는 것이다.
<?php
mysql_connect("localhost:/tmp/mysql.sock", "userid", "pass")
?>
데이터베이스 연결부분 중 호스트를 입력하는 부분에 ':/tmp/mysql.sock' 을 입력하여준다.
위의 방법은 간단하게 PHP에서 연결 할 수 있는 방법이지만, 장기적으로 사용한다면 MySQL의 설정을 변경하여 사용하는 것이 좋을 것이다.
반응형'개발' 카테고리의 다른 글
keytool 을 이용하여 인증서 받기 (0) 2009.10.01 Ant 사용기 (0) 2009.10.01 트리구조 만들기 (1) 2009.08.27 php - join() 함수 (0) 2009.08.20 JPanel 에 그라디언트 주기 (0) 2009.08.19