systemadmin.es > DBA > Posiciones del fichero de configuración de MySQL

Posiciones del fichero de configuración de MySQL

Al configurar un MySQL se pueden usar diferentes ficheros para indicar las opciones de configuración. Vamos a ver cuales son y para que pueden ser útiles.

En la documentación de MySQL podemos encontrar el listado de ficheros donde busca el fichero de configuración al arrancar (por orden):

  • /etc/my.cnf: Fichero de configuración general
  • /etc/mysql/my.cnf: A partir de MySQL 5.1 además del fichero anterior busca en esta ruta.
  • SYSCONFDIR/my.cnf: Va a buscar donde se definió al compilar el MySQL mediante el parámetro –sysconfdir. Normalmente se compila mediante –sysconfdir=/usr/local/etc para definir allí el fichero de configuración, ya que la regla general indica que el /etc sería para programas del sistema y el /usr/local/etc para los que se instalan posteriormente. Esto va a gustos de cada uno, por lo que es totalmente opcional
  • $MYSQL_HOME/my.cnf: Este resulta el más interesante, busca el fichero en el path que se indica en MYSQL_HOME. Si esta variable no esta definida, mysqld_safe comprueba si esta presente en el datadir, sino lo apunta al basedir.
  • Mediante el parámetro –defaults-extra-file se puede especificar otro fichero a leer
  • ~/.my.cnf: Finalmente se va a la HOME del usuario que ejecuta el MySQL para buscar configuración específica.

En el caso de un MySQL con Alta disponibilidad mediante algun software de cluster como RedHat Cluster Suite o bien Heartbeat resulta especialmente interesante mantener el fichero de configuración dentro del datadir.

Esto permite que no tengamos que preocuparnos de mantener la misma configuración en todos y cada uno de los nodos del clúster, sino que al haber un failover ya va a coger el fichero del datadir (que debe ser compartido para los ficheros de datos) y no del /etc o /usr/local/etc que suele ser local.

Deja un comentario:

XHTML - Tags permitidos:<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>