2008년 12월 3일 수요일

설정파일 my.cnf(my.ini) -4

각 개발언어에서 my.cnf을 읽어들임
my.cnf파일의 해석의 제어, my.cnf파일의 group지정을 각 개발언어에서 어떻게 코딩하는지 간단하게 적어본다. 

1.C의 경우
  c에서는 mysql_options()함수를 사용해서 my.cnf파일을 읽어들인다. 
  • mysql_options(mysql, MYSQL_READ_DEFAULT_FILE, 파일명) :  my.cnf파일을 지정 (--defaults-file=하고 같이 지정한 파일만 읽어들임)
  • mysql_options(mysql, MYSQL_READ_DEFAULT_GROUP,  group명):읽어들일 group지정
2.Connector/ODBC (MyODBC)의 경우
 윈도우즈용의 ODBC는 DSN지정항목에 Read Options From my.cnf옵션이 존재한다. 
  이것을 체크해두면 my.ini을 읽어들이도록 동작한다.  읽어들여지는 group은 [odbc]이다.
 Unix계열 ODBC는 odbc.ini파일에 DSN정의를 적지만 그곳에 option=키워드를 지정하게되면 my.cnf을 읽어들이게 된다.  읽어들여지는 group은 [odbc]이다.

     odbc.ini예
     [DSN명]
     option= 65536

    option에 지정하는 값에 대해서는 아래의 매뉴얼을 참조할 것.
     ( Connecter/ODBC Connection Parameters : http://dev.mysql.com/doc/refman/5.1/en/myodbc-configuration-connection-parameters.html )

3.Connector/J의 경우
 Connector/J 3.1은 my.cnf파일을 읽어들이는 기능을 가지고 있지 않다. 

4.Perl DBD-mysql의 경우
 Perl DBD-mysql 3.003에서는 DSN정의에 다음의 키워드를 지정하는 것으로 my.cnf파일을 제어한다.
   
  •  mysql_read_default_file= : my.cnf파일을 지정 (--defaults-file=하고 같이 지정한 파일만 읽어들임)
  • mysql_read_default_group= : 읽어들일 group을 지정
5.PHP mysqli의 경우
PHP mysqli에서는 options()메소드를 사용해서 my.cnf 파일을 제어한다. 
  • $mysqli->options(MYSQLI_READ_DEFAULT_FILE, 파일명) : my.cnf파일을 지정 (--defaults-file=하고 같이 지정한 파일만 읽어들임)
  • $mysqli->options(MYSQLI_READ_DEFAULT_GROUP, group명): 읽어들일 group을 지정
6.PHP PDO MySQL의 경우
PDO MySQL의 경우에는 드라이버 옵션에서 my.cnf을 읽어들이도록 지시한다. 
$dbh = new PDO( DSN, 사용자명, 패스워드,
                   array(PDO::MYSQL_ATTR_READ_DEFAULT_FILE=>파일명,
                              PDO::MYSQL_ATTR_READ_DEFAULT_GROUP=>group명) );

7.Ruby(MySQL/Ruby)의 경우
 Ruby의 libmysqlclient 래퍼인터페이스 MySQL/Ruby 2.7.2(http://www.tmtm.org/mysql/ruby/)에서는 Mysql#options()메소드를 사용해서 my.cnf파일을 제어한다. 
  • Mysql#options(Mysql::READ_DEFAULT_FILE, 파일명):my.cnf파일을 지정 (--defaults-file=하고 같이 지정한 파일만 읽어들임)
  • Mysql#options(Mysql::READ_DEFAULT_GROUP, group명): 읽어들일 group지정