\documentclass{report}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{textcomp}
\usepackage{geometry}
\geometry{top=15mm, bottom=15mm, left=1cm, right=1cm}
\usepackage[french]{babel}
\usepackage{pslatex}
\usepackage[colorlinks=true,urlcolor=black]{hyperref}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\renewcommand{\footrulewidth}{0.4pt}
\fancyfoot[L]{Uubu.fr}
\fancyfoot[R]{mar. mai 4 01:59:21 CEST 2010}
\lfoot{\Large \textit{Uubu.fr}}
\hypersetup{pdfinfo={
Title={my.cnf},
Author={Sylvain Girod},
Creator={Bash script from uubu.fr's format version 1},
Producer={Bash script and PDFLaTeX},
Subject={Fichier de configuration MySQL},
CreationDate={D:20100504015921},
ModDate={D:20100504015921},
Keywords={mysql;db;databases}
}}
\begin{document}
 
\begin{center}
{\Huge my.cnf }
\end{center}
\vspace{1cm}
 
\begin{flushleft}
 
{\large Fichier de configuration MySQL}
 
\vspace{10mm}
 
\hspace{1mm}  Les programmes suivantes supportent les fichiers d'options : \textbf{myisamchk, myisampack, mysql, mysql.server, mysqladmin, mysqlbinlog, mysqlcc, mysqlcheck, mysqld\_safe, mysqldump, mysqld, mysqlhotcopy, mysqlimport et mysqlshow}.
\vspace{5mm} \\
\hspace{1mm}  MySQL lit les fichiers suivant:
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} /etc/my.cnf]{options globales}
\item[\hspace{1mm} DATADIR/my.cnf]{Options spécifiques au serveur généralement /usr/local/mysql/data ou /usr/local/var pour une installation source}
\item[\hspace{1mm} default-extra-file]{le fichier spécifié par --default-extra-file=\#}
\item[\hspace{1mm} /.my.cnf]{options spécifique à l'utilisateur}
\end{description}
 
\hspace{1mm}  \textbf{MySQL} essaie de lire les fichiers d'options dans l'ordre ci-dessus. La syntaxe dans les fichiers d'options est similaire aux options de la commande, sans les doubles tirets.
\vspace{5mm} \\
 
 
\begin{description} \normalsize
\item[\hspace{1mm} \#comment ou ;comment]{Commentaires}
\item[\hspace{1mm} \texttt{[}group\texttt{]}]{group est le nom du programme ou du groupe pour lequel vous souhaitez configurer des options.}
\item[\hspace{1mm} opt\_name]{est équivalent à --opt\_name sur la ligne de commande}
\item[\hspace{1mm} opt\_name=value]{est équivalent à --opt\_name=value sur la ligne de commande}
\item[\hspace{1mm} set\_variable = variable=value]{est équivalent à --set-variable variable=value, utilisé pour spécifier une variable à mysqld.}
\item[\hspace{1mm} On peut utiliser les séquences spéciales ‘\textbackslash{}b’, ‘\textbackslash{}t’, ‘\textbackslash{}n’, ‘\textbackslash{}r’, ‘\textbackslash{}\textbackslash{}’ et ‘\textbackslash{}s’ dans les valeurs des options pour représenter des effacement, tabulations, nouvelles lignes, retour chariot et espaces.]{[client]}
\item[\hspace{1mm} le group d'options \texttt{[}client\texttt{]} est lu par tous les programmes clients]{}
\end{description}
 
\vspace{1cm}{\huge Exemple }
 
\
 
\hspace{1mm} exemple de fichier d'options global typique
 
{\ttfamily
\texttt{[}client\texttt{]}\\ port=3306\\ socket=/tmp/mysql.sock\\ \texttt{[}mysqld\texttt{]}\\ port=3306\\ socket=/tmp/mysql.sock\\ key\_buffer\_size=16M\\ max\_allowed\_packet=8M\\ \texttt{[}mysqldump\texttt{]}\\ quick
}
\vspace{8mm}
 
\hspace{1mm} exemple de fichier d'options utilisateur classique
 
{\ttfamily
\texttt{[}client\texttt{]}\\ \# Le mot de passe suivant sera envoyé par tous les clients standards MySQL\\ password="my\_password"\\ \texttt{[}mysql\texttt{]}\\ no-auto-rehash\\ set-variable = connect\_timeout=2\\ \texttt{[}mysqlhotcopy\texttt{]}\\ interactive-timeout
}
\vspace{8mm}
 
\vspace{1cm}{\huge Options communes à tous les programmes }
 
\
 
\begin{description} \normalsize
\item[\hspace{1mm} --no-defaults]{N'utilise aucun fichier d'options.}
\item[\hspace{1mm} --print-defaults]{Affiche le nom du programme et toutes les options qui seront lues dans les fichiers d'options.}
\item[\hspace{1mm} --defaults-file=path\_name]{Utilise uniquement le fichier d'options indiqué. path\_name est le chemin complet pour y accéder.}
\item[\hspace{1mm} --defaults-extra-file=path\_name]{Lit ce fichier d'options après le fichier d'options globales, et avant le fichier d'options utilisateurs. path\_name est le chemin complet pour y accéder.}
\end{description}
 
\hspace{1mm} On peut utiliser \textbf{my\_print\_defaults} pour analyser les fichiers d'options. il prend en argument les groupes à tester. Exemple:
 
{\ttfamily
my\_print\_defaults client mysql\\ --port=3306\\ --socket=/tmp/mysql.sock\\ --no-auto-rehash\\
}
\vspace{8mm}
 
\vspace{1cm}{\huge mysql\_multi }
 
\
 
\hspace{1mm} exemple de fichier d'options pour mysqld-multi:
 
{\ttfamily
\texttt{[}mysqld\_multi\texttt{]}\\ mysqld = /usr/local/bin/safe\_mysqld\\ mysqladmin = /usr/local/bin/mysqladmin\\ user = multi\_admin\\ password = multipass\\ \texttt{[}mysqld2\texttt{]}\\ socket = /tmp/mysql.sock2\\ port = 3307\\ pid-file = /usr/local/mysql/var2/hostname.pid2\\ datadir = /usr/local/mysql/var2\\ language = /usr/local/share/mysql/english\\ user = john\\ \texttt{[}mysqld3\texttt{]}\\ socket = /tmp/mysql.sock3\\ port = 3308\\ pid-file = /usr/local/mysql/var3/hostname.pid3\\ datadir = /usr/local/mysql/var3\\ language = /usr/local/share/mysql/swedish\\ user = monty\\ \texttt{[}mysqld4\texttt{]}\\ socket = /tmp/mysql.sock4\\ port = 3309\\ pid-file = /usr/local/mysql/var4/hostname.pid4\\ datadir = /usr/local/mysql/var4\\ language = /usr/local/share/mysql/estonia\\ user = tonu\\ \texttt{[}mysqld6\texttt{]}\\ socket = /tmp/mysql.sock6\\ port = 3311\\ pid-file = /usr/local/mysql/var6/hostname.pid6\\ datadir = /usr/local/mysql/var6\\ language = /usr/local/share/mysql/japanese\\ user = jani\\
}
\vspace{8mm}
\end{flushleft}
\end{document}
