Normalisation et installation de serveurs MySQL 4.1.x et 5.0.x sous Solaris

Introduction

Cette documentation présente un cas pratique de normalisation et d'installation de serveurs MySQL en environnement Solaris (sans contexte innodb).

Dans l'environnement évoqué, le user mysql a pour répertoire par défaut (home directory) : /Software/mysql et les versions 4.1.10 et 5.0.4 max sont installées sur une machine Solaris 2.8 biprocesseur.

Installation des binaires MySQL 4.1.x et MySQL 5.0.x

Installation des packages MySQL 4.1.x et MySQL 5.0.x

L'installation des packages MySQL 4.1.x et MySQL 5.0.x fait l'objet d'une note technique : Installation personnalisée des packages MySQL sous Solaris

Normalisation des versions dans le répertoire /Software/mysql

Pour rester complètement indépendant du numéro mineur de version MySQL et permettre la bascule très rapide d'une version 4.1.x vers une version 4.1.y, les liens ci-dessous sont créés :

mysql@SRVUNXFR1> ln -fs mysql-5.0.4 mysql-5.0
mysql@SRVUNXFR1> ln -fs mysql-4.1.10 mysql-4.1
mysql@SRVUNXFR1> ls -lrt
total 10
drwxr-xr-x 10 mysql dba 512 Oct 15 2004 dba
drwxr-xr-x 3 mysql dba 512 May 6 18:10 mysql-4.1.10
drwxr-xr-x 3 mysql dba 512 May 6 18:12 mysql-5.0.4
lrwxrwxrwx 1 mysql dba 11 May 6 18:17 mysql-5.0 -> mysql-5.0.4
lrwxrwxrwx 1 mysql dba 12 May 6 18:17 mysql-4.1 -> mysql-4.1.10

Environnement du user mysql (fichier .profile)

Dans le contexte de notre normalisation, le user mysql a été créé avec les propriétés ci-dessous :

Propriété du user Valeur
Répertoire par défaut(home directory) /Software/mysql
Shell par défaut(default shell) /bin/ksh
Groupe dba

Le fichier .profile du user MySQL source principalement les variables listées ci-dessous :

Variable Valeur
HOME /Software/mysql
DBA $HOME/dba (/Software/mysql/dba)
PATH /usr/xpg4/bin:/usr/bin:/usr/ucb:/etc:/usr/ccs/bin: /usr/sbin:$DBA/bin
Fichier .profile du user mysql
export HOME=~mysql
export PATH=/usr/xpg4/bin:/usr/bin:/usr/ucb:/etc:/usr/ccs/bin:/usr/sbin
export DBA=$HOME/dba
export PATH=$PATH:.:$DBA/bin

export EDITOR=vi
export PS1=$LOGNAME@`uname -n`">"

stty istrip
stty erase ^H

set -o vi

Dans l'environnement normalisé, la variable $DBA est initialisée à /Software/mysql/dba, répertoire qui contient tous les fichiers de configuration ($DBA/etc), les shells d'administration ($DBA/bin) etc…

Les scripts shell d'administration étant contenus dans le répertoire $DBA/bin, $DBA/bin est de ce fait implémenté dans le path du user mysql (export PATH=$PATH:.:$DBA/bin).

Normalisation des serveurs

Nomenclature

Les serveurs MySQL ont la nomenclature :

<APP>_<D|T|U|P>xx_MYS
  • <APP> : Trigramme de l'application.
  • <D|T|U|P> : Environnement Développement (D) | System Test (T) | UAT (U) | Production (P)
  • xx : numéro de serveur dans l'environnement.

A titre d'exemple : le premier serveur MySQL en environnement de system test pour l'application ayant le trigramme CGC a pour nomenclature CGC_T1_MYS.

Normalisation des ports

Les ports des serveurs MySQL sur une machine sont également normalisés et sont compris entre 40100 et 40199.

Le répertoire $DBA/<servername>

Chaque serveur MySQL doit disposer d'un répertoire dans le répertoire $DBA (/Software/mysql/dba) : par exemple $DBA/CGC_T1_MYS.

L'arborescence du répertoire $DBA/<servername> est la suivante :

$DBA/CGC_T1_MYS /cfg Répertoire où est localisé le fichier de configuration <servername>.cnf du serveur MySQL. Dans ce répertoire sont également localisés les fichiers master_<servername>.info et relay_<servername>.info dans un contexte de réplication où le serveur en question est un serveur esclave. Le fichier $DBA/CGC_T1_MYS/cfg/script/mdp/mdp_root (lisible uniquement par le user mysql) contient le mot de passe root du serveur en question.
/log Répertoire des fichiers de logs de MySQL
/share Répertoire de localisation du fichier .pid de MySQL, fichier texte contenant simplement le process id du serveur MySQL lorsque celui-ci est démarré.

Le shell USE dans le répertoire $DBA/bin

Le shell USE dans le répertoire $DBA/bin permet de sourcer l'environnement d'un serveur MySQL :

Syntaxe :

USE -S < ? | ServerName>

Lorsque ? est donné en paramètre au shell USE, la liste des serveurs MySQL disponible sur la machine est retournée :

mysql@SRVUNXFR1> USE -S ?
CGC_T1_MYS
CGC_T2_MYS

Lorsqu'un serveur MySQL est donné en paramètre au shell USE, les variables d'environnement pour le serveur sont sourcées :

mysql@SRVUNXFR1>USE -S CGC_T1_MYS
CGC_T1_MYS >

Pour sourcer les variables d'environnement d'un serveur MySQL, le shell USE s'appuie sur le fichier <servername>.mys dans le répertoire $DBA/etc. Par défaut, si le fichier <servername>.mys existe, le shell USE source la variable SERVERNAME laquelle est positionnée à <servername> :

export SERVERNAME=<servername>

Le corps du script du shell USE est donné en annexe 1 de cette documentation.

Le répertoire $DBA/etc et le fichier <servername>.mys

Le shell USE dans le répertoire $DBA/bin source l'environnement d'un serveur MySQL.

A titre d'exemple : pour sourcer l'environnement du serveur MySQL CGC_T1_MYS, le shell USE s'appuie sur le fichier CGC_T1_MYS.mys dans le répertoire $DBA/etc.

mysql@SRVUNXFR1> USE -S CGC_T1_MYS
CGC_T1_MYS >

Les variables d'environnement alors sourcées pour le serveur CGC_T1_MYS sont les suivantes :

Description Variable d'environnement Valeur
Nom du serveur SERVERNAME CGC_T1_MYS
Version MySQL MYSQL_VERSION 4.1
Répertoire racine MySQL MYSQL_HOME /Software/mysql/mysql-4.1
Nom de l'application APPNAME dba
Répertoire de configuration CFG /Software/mysql/dba/CGC_T1_MYS/cfg
Répertoire des scripts SCRIPT /Software/mysql/dba/CGC_T1_MYS/cfg/script
Répertoire des dumps DMP /Software/mysql/dba/CGC_T1_MYS/dmp
Répertoire des logs LOG /Software/mysql/dba/CGC_T1_MYS/log
Répertoire des logs binaires BINLOG /dba/mysql/CGC_T1_MYS/binlogs
Répertoire des devices InnoDB INNODB /dba/mysql/CGC_T1_MYS/innodb
Répertoire des fichiers de logs de relai (relay logs) dans un contexte de réplication RPL /dba/mysql/CGC_T1_MYS/rpl
PATH PATH /Software/mysql/mysql-4.1/bin:$PATH
LD_LIBRARY_PATH LD_LIBRARY_PATH /Software/mysql/mysql-4.1/lib:$LD_LIBRARY_PATH

Le fichier <servername>.mys se contente de sourcer des variables propres au serveur MySQL en question : $MYSQL, $MYSQL_VERSION et $APPNAME.

Les autres variables génériques ($CFG etc…) sont sourcées par le shell $DBA/etc/defaults_srv.ksh, lequel doit être appelé à la fin de chaque fichier <servername>.mys.

Cas pratique : $DBA/etc/CGC_T1_MYS.mys

#!/bin/ksh
## Configuraton File for CGC_T1_MYS
#
# Putting the MySQL version for the server
MYSQL_VERSION="4.1"
export MYSQL_VERSION
#
# Setting Application name for the server
export APPNAME=dba
#
# Calling default script environment
. $DBA/etc/defaults_srv.ksh

Le shell defaults_srv.ksh source les variables génériques à tous les serveurs MySQL et est appelé à la fin de chaque fichier $DBA/etc/<servername>.mys.

#!/bin/ksh
#
# Setting variable MYSQL_HOME
MYSQL_HOME=~mysql/mysql-${MYSQL_VERSION}
export MYSQL_HOME
#
# Setting PATH and LD_LIBRARY_PATH Environment
LD_LIBRARY_PATH=$MYSQL_HOME/lib:$LD_LIBRARY_PATH
PATH=$MYSQL_HOME/bin:$PATH
export PATH LD_LIBRARY_PATH
#
export PS1="$SERVERNAME > "
export CFG=$DBA/$MYSQL/cfg
export SCRIPT=$CFG/script
export DMP=$DBA/$SERVERNAME/dmp
export RUN=$DBA/$SERVERNAME/run
export LOG=$DBA/$SERVERNAME/log
export BINLOG=/$APPNAME/mysql/$SERVERNAME/binlogs
export INNODB=/$APPNAME/mysql/$SERVERNAME/innodb
export RPL=/$APPNAME/mysql/$SERVERNAME/rpl

export ENV = ~mysql/.kshrc

Le shell defaults_srv.ksh source également la variable d'environnement ENV = ~mysql/.kshrc : lorsque la variable ENV est redéfinie, le fichier .kshrc est alors automatiquement appelé et dans ce fichier seront définis des alias très pratiques pour le serveur MySQL en question.

L'environnement appliqué pour le serveur CGC_T1_MYS est alors le suivant :

CGC_T1_MYS > env
_=/usr/xpg4/bin/env
APPNAME=dba
HZ=100
PATH=/Software/mysql/mysql-4.1/bin:/usr/xpg4/bin:/usr/bin:/usr/ucb:/etc:
                /usr/ccs/bin:/usr/sbin:.:/Software/mysql/dba/bin
SCRIPT=/Software/mysql/dba/CGC_T1_MYS/cfg/script
MYSQL_VERSION=4.1
CFG=/Software/mysql/dba/CGC_T1_MYS/cfg
LOG=/Software/mysql/dba/CGC_T1_MYS/log
BINLOG=/dba/mysql/CGC_T1_MYS/binlogs
INNODB=/dba/mysql/CGC_T1_MYS/innodb
RPL=/dba/mysql/CGC_T1_MYS/rpl
EDITOR=vi
LOGNAME=mysql
DMP=/Software/mysql/dba/CGC_T1_MYS/dmp
PS1=CGC_T1_MYS >
SERVERNAME=CGC_T1_MYS
DBA=/Software/mysql/dba
DCD=/Software/mysql/dba/etc
DCA=/Software/mysql/dba/etc/CGC_T1_MYS.mys
SHELL=/bin/ksh
HOME=/Software/mysql
TERM=xterm
LD_LIBRARY_PATH=/Software/mysql/mysql-4.1/lib:
PWD=/Software/mysql/mysql-4.1.11
TZ=MET
RUN=/Software/mysql/dba/CGC_T1_MYS/run
ENV=/Software/mysql/.kshrc
MYSQL_HOME=/Software/mysql/mysql-4.1

Installation d'un nouveau serveur MySQL

Le fichier de configuration <servername>.cnf

Chaque serveur MySQL dispose d'un fichier de configuration <servername>.cnf localisé dans le répertoire $CFG (/Software/mysql/<servername>/cfg). Dès le départ, il est préférable d'attribuer les permissions de lecture et d'écriture du fichier de configuration d'un serveur MySQL uniquement à l'utilisateur mysql démarrant le serveur car à terme, pour des soucis d'industrialisation, le mot de passe du super utilisateur root du serveur MySQL sera écrit dans ce fichier :

mysql@SRVUNXFR1> chmod 600 ${CFG}/<servername>.cnf

Pour que le fichier de configuration soit bien pris en compte lors du démarrage du nouveau serveur, il faut s'assurer qu'il n'existe aucun des fichiers de configuration suivants :

/etc/my.cnf Options globales
~/.my.cnf Options utilisateurs

En priorité absolue, les paramètres ci-dessous doivent être correctement appliqués dans le fichier de configuration du serveur pour respecter la normalisation :

Paramètre Description Valeur normalisée
port Port du serveur 40101
basedir Répertoire de la distribution MySQL du serveur ($MYSQL_HOME) /Software/mysql/mysql-4.1/
datadir Répertoire de localisation des bases de données MyISAM (mysql etc...) /$APPNAME/mysql/<serverName>/data
socket Nom et localisation du fichier de socket /tmp/<serverName>.sock
pid-file Nom et localisation du fichier contenant le Process ID du serveur MySQL /$DBA/<serverName>/share/<serverName>.pid
log-error Nom et localisation du fichier de log du serveur MySQL /$DBA/<serverName>/log/<serverName>.log
$LOG/<serverName>.log
log-bin Chemin et préfixe des fichiers binaires de logs (par défaut les fichiers binaires de logs sont nomenclaturés avec le nom du host suivi de -bin) $BINLOG/ blog_<serverName>
log-bin-index Chemin et nomenclature du fichier d'index des logs binaires $BINLOG/ blog_<serverName>.index
max_binlog_size Taille maximale en Mb des fichiers binaires de logs déterminant le switch vers un nouveau fichier binaire de log. 10M

Le paramètre skip-networking ne doit pas être positionné, car la communication avec les serveurs MySQL est réalisée avec le protocole TCP/IP sur un port.

Pour le serveur CGC_T1_MYS à créer, les paramètres ci-dessous sont appliqués dans le fichier de configuration CGC_T1_MYS.cnf pour respecter la normalisation :

$CFG/CGC_T1_MYS.cnf
# The MySQL server
[mysqld]
# Specifying datadir directory
basedir=/Software/mysql/mysql-4.1/
datadir=/dba/mysql/CGC_T1_MYS/data

# Specifying binlog properties
log-bin=/dba/mysql/CGC_T1_MYS/binlogs/blog_CGC_T1_MYS
log-bin-index=/dba/mysql/CGC_T1_MYS/binlogs/blog_CGC_T1_MYS.index
max_binlog_size=10M

# Socket is not used, TCP IP is used instead
port = 40101
socket = /tmp/CGC_T1_MYS.sock
pid-file = /Software/mysql/dba/CGC_T1_MYS/share/CGC_T1_MYS.pid
log-error = /Software/mysql/dba/CGC_T1_MYS/log/CGC_T1_MYS.log

#
# skip-networking
server-id = 1

Création de la base de données mysql du serveur

Pour créer la base mysql du serveur, le script $MYSQL_HOME/scripts/mysql_install_db est lancé en donnant en paramètre le fichier de configuration $SERVERNAME.cnf du serveur localisé dans le répertoire $CFG.

Pour l'exécution de ce script, il est impératif de se positionner dans le répertoire $MYSQL_HOME.

CGC_T1_MYS > pwd
/Software/mysql/mysql-4.1
CGC_T1_MYS >
CGC_T1_MYS > ./scripts/mysql_install_db --defaults-file=${CFG}/${SERVERNAME}.cnf
      
Installing all prepared tables
Fill help tables

To start mysqld at boot time you have to copy support-files/mysql.server
to the right place for your system

PLEASE REMEMBER TO SET A PASSWORD FOR THE MySQL root USER !
To do so, start the server, then issue the following commands:
/Software/mysql/mysql-4.1//bin/mysqladmin -u root password 'new-password'
/Software/mysql/mysql-4.1//bin/mysqladmin -u root -h SRVUNXFR1 password 'new-password'
See the manual for more instructions.

You can start the MySQL daemon with:
cd . ; /Software/mysql/mysql-4.1//bin/mysqld_safe &

You can test the MySQL daemon with the benchmarks in the 'sql-bench' directory:
cd sql-bench ; perl run-all-tests

Please report any problems with the ./bin/mysqlbug script!

The latest information about MySQL is available on the web at
http://www.mysql.com
Support MySQL by buying support/licenses at https://order.mysql.com

Le script mysql_install_db a alors créé les bases de données mysql et test dans le répertoire identifié par le paramètre datadir dans le fichier de configuration $SERVERNAME.cnf.

Démarrage du serveur

Pour démarrer le nouveau serveur créé :

CGC_T1_MYS > cd $MYSQL_HOME
CGC_T1_MYS > ./bin/mysqld_safe -defaults-file="${CFG}/${SERVERNAME}.cnf" &

Opérations post installation

Parmi les deux opérations à réaliser à l'issue de l'installation :

  • suppression de la base de données de test créée par le script mysql_install_db
  • paramétrage du user root pour autoriser ce dernier à se connecter au serveur depuis n'importe quel autre host et pour appliquer un mot de passe. Pour cette seconde opération, le plus simple est de suivre les étapes ci-dessous :
    • suppression de toutes les lignes dans la table db pour lesquelles User=root : delete from db where User='root' ;
    • suppression de toutes les lignes dans la table user pour lesquelles User=root : delete from user where User='root' ;
    • création d'un nouveau user root avec tous les privilèges, un mot de passe et l'autorisation de se connecter depuis n'importe quel autre host : grant all privileges on *.* to root@"%" identified by 'mot_de_passe';
    • lancer la commande flush privileges pour prendre en compte les modifications sur le user root.

Pour se connecter pour la première fois au serveur :

CGC_T1_MYS > mysql -uroot -S/tmp/CGC_T1_MYS.sock
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 3 to server version: 4.1.11-max

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> use mysql;

Database changed
mysql> show databases;

+----------+
| Database |
+----------+
| mysql    |
| test     |
+----------+

mysql> delete from db where User='root';
mysql> drop database test;
mysql> delete from user where User='root';
mysql> grant all privileges on *.* to root@"%" identified by 'mot_de_passe';
mysql> select Host, User, Password from user;

+------+------+-------------------------------------------+
| Host | User | Password                                  |
+------+------+-------------------------------------------+
| %    | root | *8A3209A96962746E772848601A9BA7900B878F40 |
+------+------+-------------------------------------------+

mysql> flush privileges;

Pour les futures connexions, l'option -p devra être donné à la console mysql pour spécifier le mot de passe pour le user root :

CGC_T1_MYS > mysql -uroot -S/tmp/CGC_T1_MYS.sock -p
Enter password:

Arrêt du serveur

Le binaire mysqladmin est utilisé pour arrêter le serveur : l'option -p doit être donnée au binaire mysqladmin pour le mot de passe du user root.

CGC_T1_MYS > mysqladmin -uroot -S/tmp/CGC_T1_MYS.sock shutdown -p
Enter password:

Amélioration de l'industrialisation à l'issue de l'installation du serveur MySQL

Dans le paragraphe précédent, les lignes de commande de démarrage et d'arrêt ont été présentées. Avec la commande mysqladmin, le mot de passe du super utilisateur root doit être donné dans le ligne de commande, ce qui n'est pas très sécurisé car ce dernier peut être vu par une commande ps -ef lancé par n'importe quel utilisateur Unix. Le même symptôme se présente lors de l'utilisation des binaires mysqldump et myisamcheck.

Paramètres de connexion avec l'utilisateur root dans le fichier de configuration <servername>.cnf

Pour éviter l'option -p du mot de passe dans l'utilisation des binaires mysqldump, mysqladmin, myisamcheck etc…, une alternative simple consiste à définir les paramètres de connexion avec le super utilisateur root dans le fichier de configuration du serveur MySQL dans le paragraphe [client] :

$CFG/CGC_T1_MYS.cnf
[client]
user = root
password= <votre mot de passe>
socket= /tmp/CGC_T1_MYS.sock
port= 40101

C'est pourquoi il est préférable d'attribuer les permissions de lecture et d'écriture du fichier de configuration du serveur MySQL uniquement à l'utilisateur mysql démarrant le serveur puisque le mot de passe du super utilisateur root est stocké dans ce fichier.

mysql@SRVUNXFR1> chmod 600 ${CFG}/${SERVERNAME}.cnf

Avec l'inscription des informations de connexion du super utilisateur root dans le fichier de configuration du serveur, les binaires mysql, mysqldump, mysqladmin, myisamcheck peuvent être invoqués sans donner l'option -p du mot de passe, l'option --defaults-file=$CFG/$SERVERNAME.cnf est simplement donnée en paramètre.

Exemples :

CGC_T1_MYS > mysql --defaults-file=${CFG}/${SERVERNAME}.cnf
  Welcome to the MySQL monitor. Commands end with ; or \g.
  Your MySQL connection id is 3 to server version: 4.1.11-max

  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

  mysql>
CGC_T1_MYS > mysqladmin --defaults-file=${CFG}/${SERVERNAME}.cnf shutdown
CGC_T1_MYS > mysqldump --defaults-file=${CFG}/${SERVERNAME}.cnf --compat -B mysql

Définition des alias dans le fichier d'environnement ~mysql/.kshrc

Le fichier .kshrc est appelé lors de la prise d'un environnement d'un serveur MySQL, dans ce dernier peuvent alors être définis des alias très pratiques comme par exemple l'alias m qui rentre directement dans la console mysql sans spécifier l'option --defaults-file.

Exemples :

~mysql/.kshrc
alias m="mysql --defaults-file=${CFG}/${SERVERNAME}.cnf"
alias tlog="tail -f ${LOG}/${SERVERNAME}.log"
alias flog="tail -50 ${LOG}/${SERVERNAME}.log"
alias vlog="view ${LOG}/${SERVERNAME}.log"

Mise en œuvre de l'alias m :

CGC_T1_MYS > m

  Welcome to the MySQL monitor. Commands end with ; or \g.
  Your MySQL connection id is 3 to server version: 4.1.11-max

  Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

  mysql>

Annexe 1 : le shell USE

#!/bin/ksh
###################################################################################
# @(#) Fichier : USE
# @(#) Auteur : SP
# @(#) Objet : Set MySQL environment
# @(#) Usage : USE [-S SERVERNAME]
# @(#) Exemples:
###################################################################################

##
## Internal
##
prog=$(basename $0)

##
## Usage Display the Usage
##Tested
##
Usage ()
  {
    print "Usage : $prog [-S SERVERNAME]"
    exit
  }

##
## Initialize variables
##Tested
export DCD=$DBA/etc# DBA Configuration Directory

##
## Check Parameters
##Tested

while getopts "S:" opt
  do
    case $opt in
      S) if [ "$OPTARG" == "?" ]
      then
        echo ""
        cd $DBA/etc;
        ls *.mys | sed "1,\$s/.mys//g"
        echo ""
      else
        export SERVERNAME=$OPTARG
        export DCA=$DBA/etc/$SERVERNAME.mys # DBA Configuration File
      fi;;
      ?) Usage;;
    esac
  done

##Tested
if [ ! "$SERVERNAME" ] ; then
  Usage
fi

#
# First Check the environment variable
#

##
## Check DBA Varaiable
##Tested

if [ ! "$DBA" ] ; then
  echo "$0 : The DBA variable is not initialized"  exit
fi

##Tested
if ! [ -d $DBA ] ; then
  echo "$0 : Directory $DBA doesn't exist"
  exit
fi

##
## Check if the DBA Configuration Directory (DCD) exists
##Tested

if ! [ -d $DCD ] ; then
  echo "$0 : Directory $DCD doesn't exist"
  exit
fi

##
## Check if the DBA Configuration File (DCF) exists
##Tested

if [ ! -s $DCA ] ; then
  echo "$0 : Configuration File for $DCA doesn't exist"
  exit
fi

##
## Initialise environment
##
export ENV=${HOME}/.kshrc
. $DCA

exec /bin/ksh

##
## The End
##

Annexe 2 : le fichier de configuration CGC_T1_MYS.cnf

Exemple de fichier CGC_T1_MYS.cnf


# If you want to know which options a program supports, run the program
# with the "--help" option.

# The following options will be passed to all MySQL clients
user = root
password= <votre mot de passe>
socket= /tmp/CGC_T1_MYS.sock
port= 40101

# Here follows entries for some specific programs

# The MySQL server
[mysqld]

# Specifying datadir directory
basedir=/Software/mysql/mysql-4.1/
datadir=/dba/mysql/CGC_T1_MYS/

# Specifying binlog properties
log-bin=/dba/mysql/CGC_T1_MYS/binlogs/blog_CGC_T1_MYS
log-bin-index=/dba/mysql/CGC_T1_MYS/binlogs/blog_CGC_T1_MYS.index
max_binlog_size=10M

# Socket is not used, TCP IP is used instead
port = 40101
socket = /tmp/CGC_T1_MYS.sock
pid-file = /Software/mysql/dba/CGC_T1_MYS/share/CGC_T1_MYS.pid
log-error = /Software/mysql/dba/CGC_T1_MYS/log/CGC_T1_MYS.log

skip-locking
key_buffer = 16M
max_allowed_packet = 1M
table_cache = 30
sort_buffer_size = 30M
net_buffer_length = 2K
thread_stack = 128K

# Don't listen on a TCP/IP port at all. This can be a security enhancement,
# if all processes that need to connect to mysqld run on the same host.
# All interaction with mysqld must be made via Unix sockets or named pipes.
# Note that using this option without enabling named pipes on Windows
# (using the "enable-named-pipe" option) will render mysqld useless!

#
#skip-networking
server-id = 1

# Uncomment the following if you want to log updates
#log-bin

# Uncomment the following if you are NOT using BDB tables
skip-bdb

# Uncomment the following if you are using InnoDB tables
skip-innodb

[mysqldump]
quick
max_allowed_packet = 16M

[mysql]
no-auto-rehash
# Remove the next comment character if you are not familiar with SQL
#safe-updates

[isamchk]
key_buffer = 8M
sort_buffer_size = 8M

[myisamchk]
key_buffer = 8M
sort_buffer_size = 8M

[mysqlhotcopy]
interactive-timeout