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@SRVUNXFR> ln -fs mysql-5.0.4 mysql-5.0
mysql@SRVUNXFR> ln -fs mysql-4.1.10 mysql-4.1
mysql@SRVUNXFR> 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@SRVUNXFR> 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@SRVUNXFR>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@SRVUNXFR> 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@SRVUNXFR> 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 SRVUNXFR 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.
- suppression de toutes les lignes dans la table db pour lesquelles
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@SRVUNXFR> 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