개발

쎄지오에서 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의 설정을 변경하여 사용하는 것이 좋을 것이다.

 

반응형