Generalmente, el servidor mysqld se inicia de alguna de estas formas:
Invocando mysqld directamente. Esto funciona en cualquier plataforma.
Ejecutando el servidor MySQL como un servicio de Windows. Esto puede hacerse en versiones de Windows que soporten servicios (como NT, 2000, XP, y 2003). El servicio se puede configurar para que inicie el servidor automáticamente cuando arranca Windows, o como un servicio manual que se inicia a pedido. Para instrucciones, consulte: Sección 2.3.12, “Arrancar MySQL como un servicio de Windows”.
Invocando mysqld_safe, el cual intenta determinar las opciones apropiadas para mysqld y entonces lo ejecuta con dichas opciones. Este script se usa en sistemas basados en BSD Unix. Consulte Sección 5.1.3, “El script de arranque del servidor mysqld_safe”.
Invocando mysql.server. Este script se
usa principalmente al iniciar y detener el sistema en
sistemas que emplean directorios de ejecución al estilo
System V, donde usualmente se instala bajo el nombre
mysql
. El script
mysql.server inicia el servidor
mediante la ejecución de Sección 5.1.4, “El script mysql.server para el arranque del servidor”.
En Mac OS X, se instala paquete separado llamado MySQL Startup Item para habilitar el inicio automático de MySQL junto con el sistema. El Startup Item inicia el servidor invocando a mysql.server. Consulte Sección 2.5, “Instalar MySQL en Mac OS X” para más detalles.
Los scripts mysql.server y mysqld_safe y el Mac OS X Startup Item se pueden utilizar para iniciar el servidor manualmente, o en forma automática al inicio del sistema. mysql.server y el Startup Item también se emplean para detener el servidor.
Para iniciar o detener el servidor manualmente empleando el
script mysql.server, se lo debe invocar con
los argumentos start
o
stop
:
shell> mysql.server start shell> mysql.server stop
Antes de que mysql.server inicie el
servidor, se posiciona en el directorio de instalación de
MySQL, y luego ejecuta mysqld_safe. Si se
desea que el servidor se ejecute como un usuario específico,
debe agregarse la correspondiente opción
user
al grupo [mysqld]
del fichero de opciones /etc/my.cnf
, como
se muestra más adelante en esta sección. (Es posible que
haya que editar mysql.server si se instaló
una distribución binaria de MySQL en una ubicación no
estándar. La modificación consiste en hacer
cd
al directorio apropiado antes de
ejecutar mysqld_safe. En caso de hacer
esto, tener en cuenta que la versión modificada de
mysql.server puede ser sobreescrita si se
actualiza MySQL en el futuro; se debería hacer una copia de
la versión modificada para restaurarla.)
mysql.server stop detiene el servidor mediante el envío de una señal. También se lo puede detener manualmente ejecutando mysqladmin shutdown.
Para iniciar y detener MySQL automáticamente, se necesita
agregar los comandos de inicio y detención en los sitios
apropiados de los ficheros /etc/rc*
.
Si se emplea el paquete RPM de servidor para Linux
(MySQL-server-
),
el script mysql.server se instala en el
directorio VERSION
.rpm/etc/init.d
con el nombre
mysql
. No se necesita instalarlo
manualmente. Consulte Sección 2.4, “Instalar MySQL en Linux” para más
información sobre los paquetes Linux RPM.
Algunos vendedores proveen paquetes RPM que instalan un script de inicio con un nombre distinto, como mysqld.
Si se instala MySQL desde una distribución de código fuente
o mediante una distribución binaria que no instala
mysql.server automáticamente, se lo puede
instalar manualmente. El script se encuentra en el directorio
support-files
dentro del directorio de
instalación de MySQL o en el árbol de código fuente de
MySQL.
Para instalar mysql.server manualmente, se
los debe copiar en el directorio
/etc/init.d
con el nombre
mysql, y luego hacerlo ejecutable. Esto se
hace posicionándose dentro del directorio donde está
mysql.server y ejecutando estos comandos:
shell> cp mysql.server /etc/init.d/mysql shell> chmod +x /etc/init.d/mysql
Los sistemas Red Hat antiguos utilizan el directorio
/etc/rc.d/init.d
en lugar de
/etc/init.d
. Los comandos anteriores
deben modificarse de acuerdo a esto. Alternativamente, puede
crearse primero /etc/init.d
como un
vínculo simbólico que apunte a
/etc/rc.d/init.d
:
shell> cd /etc shell> ln -s rc.d/init.d .
Luego de instalar el script, los comandos necesarios para
activarlo en el arranque del sistema dependen del sistema
operativo. En Linux, puede utilizarse
chkconfig
:
shell> chkconfig --add mysql
En algunos sistemas Linux, el siguiente comando tmabién parece ser necesario para habilitar completamente al script mysql:
shell> chkconfig --level 345 mysql on
En FreeBSD, los scripts de inicio generalmente se encuentran
en /usr/local/etc/rc.d/
. La página de
manual rc(8)
establece que los scripts en
dicho directorio se ejecutan solamente si su nombre base
concuerda con el patrón de nombre de fichero shell
*.sh
. Cualquier otro fichero o directorio
presente dentro del directorio es ignorado sin advertencias.
En otras palabras, en FreeBSD, se debería instalar el script
mysql.server
como
/usr/local/etc/rc.d/mysql.server.sh
para
habilitar el inicio automático.
Como una alternativa a la configuración anterior, algunos
sistemas operativos también emplean
/etc/rc.local
o
/etc/init.d/boot.local
para iniciar
servicios adicionales en el arranque del sistema. Para iniciar
MySQL utilizando este método, se puede agregar un comando
como el siguiente al fichero de inicio apropiado:
/bin/sh -c 'cd /usr/local/mysql; ./bin/mysqld_safe --user=mysql &'
En otros sistemas operativos, consultar la documentación para ver cómo instalar scripts de inicio.
Se pueden agregar opciones a mysql.server
en un fichero global /etc/my.cnf
. Un
típico fichero /etc/my.cnf
podría verse
como este:
[mysqld] datadir=/usr/local/mysql/var socket=/var/tmp/mysql.sock port=3306 user=mysql [mysql.server] basedir=/usr/local/mysql
El script mysql.server acepta las
siguientes opciones: basedir
,
datadir
, y pid-file
. Si
se utilizan, deben estar en un fichero de
opciones, no en la línea de comandos.
mysql.server sólo acepta en la línea de
comandos las opciones start
y
stop
.
La siguiente tabla indica los grupos del fichero de opciones que son leidos por el servidor y por cada script de inicio.
Script | Grupos de opciones |
mysqld |
[mysqld] , [server] ,
[mysqld-versión principal]
|
mysql.server |
[mysqld] , [mysql.server] ,
[server]
|
mysqld_safe |
[mysqld] , [server] ,
[mysqld_safe]
|
[mysqld-versión principal]
significa que
los grupos con nombres como [mysqld-4.0]
,
[mysqld-4.1]
, y
[mysqld-5.0]
son leídos por servidores con
números de versión 4.0.x, 4.1.x, 5.0.x y así sucesivamente.
Esta característica sirve para especificar opciones que
serán leídas solamente por servidores pertenecientes a
releases de una determinada serie.
Por razones de compatibilidad hacia atrás,
mysql.server también lee el grupo
[mysql_server]
y
mysqld_safe también lee el grupo
[safe_mysqld]
. No obstante, cuando se
emplee MySQL 5.0, se debería actualizar el fichero de
opciones para que contenga los grupos
[mysql.server]
y
[mysqld_safe]
.
Ésta es una traducción del manual de referencia de MySQL, que puede encontrarse en dev.mysql.com. El manual de referencia original de MySQL está escrito en inglés, y esta traducción no necesariamente está tan actualizada como la versión original. Para cualquier sugerencia sobre la traducción y para señalar errores de cualquier tipo, no dude en dirigirse a mysql-es@vespito.com.