mysqld_safe es la manera recomendada de iniciar mysqld un servidor en Unix y NetWare mysqld_safe añade algunas características de seguridad como reiniciar el servidor cuando ocurre un error y guardar la información en tiempo de ejecución en un registro de errores. Los comportamientos especificos de NetWare se mencionan más adelante en esta sección.
Nota: Para preservar la compatibilidad con antiguas versiones de MySQL, las distribuciones binarias de MySQL todavía incluyen safe_mysqld como en enlace simbólico a mysqld_safe. Aún asi, no se debería confiar en esto ya que con toda certeza será eliminado en el futuro.
Por defecto, mysqld_safe intenta lanzar un ejecutable llamado mysqld-max si existe, o mysqld en otro caso. Deben tenerse en cuenta las implicaciones de este comportamiento:
            En Linux, el paquete RPM de MySQL-Max se
            basa en este comportamiento de
            mysqld_safe. El RPM instala un ejecutable
            llamado mysqld-max, que causa que
            mysqld_safe use automáticamente ese
            ejecutable a partir de ese momento.
          
Si se instala una distribucion MySQL-Max que incluye un servidor llamado mysqld-max, y después se actualiza a una version no-Max de MySQL, mysqld_safe todavía intentará ejecutar el viejo servidor mysqld-max. Si se realiza una actualizacion tal, se debe eliminar manualmente el viejo servidor mysqld-max para asegurarse de que mysqld_safe ejecuta el nuevo servidor mysqld.
        Para reemplazar el comportamiento por defecto y especificar
        explícitamente qué servidor se quiere ejecutar, se debe
        especificar la opción --mysqld o la opción
        --mysqld-version de
        mysqld_safe.
      
Muchas de las opciones de mysqld_safe son las mismas que las opciones de mysqld. Consulte Sección 5.3.1, “Opciones del comando mysqld”.
        Todas las opciones específicas de
        mysqld_safe en la línea de comandos se pasan
        a mysqld. Si se desea utilizar alguna opción
        que es específica de mysqld_safe y que
        mysqld no soporta, no debe especificarse en
        la línea de comandos. En vez de eso, debe listarse en el grupo
        [mysqld_safe] de un archivo de opciones.
        Consulte Sección 4.3.2, “Usar ficheros de opciones”.
      
        mysqld_safe lee todas las opciones de las
        secciones [mysqld],
        [server], y [mysqld_safe]
        de los archivos de opciones. Por compatibilidad con versiones
        anteriores, también lee las secciones
        [safe_mysqld], aunque deben renombrarse
        dichas secciones a [mysqld_safe] en MySQL
        5.0.
      
mysqld_safe soporta las siguientes opciones:
            --help
          
Muestra un mensaje de ayuda y finaliza. (Añadido en MySQL 5.0.3)
            --basedir=
          ruta
La ruta al directorio de instalacion de MySQL.
            --core-file-size=
          tamaño
El tamaño del archivo de volcado de memoria que mysqld debería ser capaz de crear. El valor de la opción se pasa a ulimit -c.
            --datadir=
          ruta
La ruta al directorio de datos.
            --defaults-extra-file=
          ruta
El nombre de un archivo de opciones para ser leído además de los habituales.
            --defaults-file=
          ruta
El nombre de un archivo de opciones para ser leído en vez de los habituales.
            --ledir=
          ruta
La ruta a el directorio que contiene el programa mysqld. Se utiliza esta opción para indicar explícitamente la localización del servidor.
            --log-error=
          ruta
Escribir el registro de errores en el archivo dado. Consulte Sección 5.10.1, “El registro de errroes (Error Log)”.
            --mysqld=
          nombre_prog
            El nombre del programa servidor (en el directorio
            ledir) que se quiere ejecutar. Esta
            opción es necesaria si se utiliza la distribución binaria
            de MySQL pero el directorio de datos está fuera de la
            distribución binaria.
          
            --mysqld-version=
          sufijo
            Esta opción es similar a la opción
            --mysqld, pero se especifica únicamente
            el sufijo para el nombre del programa servidor. El nombre
            base se asume que es mysqld. Por ejemplo,
            si se usa --mysqld-version=max,
            mysqld_safe inicia el programa en el
            directorio ledir. Si el argumento de
            --mysqld-version está vacio,
            mysqld_safe usa mysqld
            en el directorio ledir.
          
            --nice=
          prioridad
            Se utiliza el programa nice para
            establecer la prioridad del servidor a un valor dado.
          
            --no-defaults
          
No leer ningún archivo de opciones.
            --open-files-limit=
          número
            El número de ficheros que mysqld
            debería ser capaz de abrir. El valor de la opción se pasa
            a ulimit -n. Nótese que se necesita
            iniciar mysqld_safe como
            root para que esto funcione
            correctamente.
          
            --pid-file=
          ruta
La ruta al archivo de ID del proceso.
            --port=
          num_puerto
El número de puerto a usar cuando se esperan conexiones TCP/IP.
            --socket=
          ruta
El archivo de socket de unix a utilizar para conexiones locales.
            --timezone=
          zona
            Establece la variable de ambiente de zona horaria
            TZ a el valor dado. Consúlte la
            documentación del sistema operativo para formatos legales
            de especificación de zonas horarias.
          
            --user={
          nombre_usuario |
            id_usuario}
            Ejecuta el servidor mysqld como el
            usuario con nombre nombre_usuario
            o el ID numérico de usuario
            id_usuario. (``Usuario'' en este
            contexto se refiere a una cuenta de login del sistema, no a
            un usuario MySQL incluído en las tablas grant.)
          
El script mysqld_safe está escrito de manera que normalmente puede iniciar un servidor que ha sido instalado tanto desde código fuente o desde una distribución binaria de MySQL, aún cuando típicamente estos tipos de distribuciones instalan el servidor en lugares ligeramente diferentes. (Consulte Sección 2.1.5, “Conformación de la instalación”.) mysqld_safe espera que una de las siguientes condiciones sea cierta:
            El servidor y las bases de datos pueden ser encontradas en
            una ruta relativa al directorio desde el que
            mysqld_safe es invocado. Para
            distribuciones binarias, mysqld_safe
            busca bajo su directorio de trabajo los directorios
            bin y data. En
            distribuciones de código fuente, busca los directorios
            libexec y var.
            Esta condición debe cumplirse si se ejecuta
            mysqld_safe desde el directorio de
            instalación de MySQL (por ejemplo,
            /usr/local/mysql para una distribución
            binaria).
          
            Si el servidor y las bases de datos no pueden encontrarse en
            una ruta relativa al directorio de trabajo,
            mysqld_safe intenta localizarlos mediante
            rutas absolutas. /usr/local/libexec y
            /usr/local/var son localizaciones
            típicas. Las localizaciones efectivas se determinan por los
            valores configurados en la distribución en el momento en
            que fue creada. Deberían ser correctos si MySQL está
            instalado en la localización especificada en el momento de
            la configuración.
          
Debido a que mysqld_safe trata de encontrar el servidor y las bases de datos de manera relativa a su propio directorio de trabajo, puede instalarse una distribución binaria de MySQL en cualquier lugar, siempre y cuando se ejecute mysqld_safe desde el directorio de instalación de MySQL:
shell> cd directorio_instalacion_mysql shell> bin/mysqld_safe &
        Si mysqld_safe falla, aún cuando ha sido
        invocado desde el directorio de instalación de MySQL, se pueden
        especificar las opciones --ledir y
        --datadir para indicar los directorios en los
        que el servidor y las bases de datos están dentro del sistema.
      
        Normalmente, no se debería editar el script
        mysqld_safe. En vez de ello, ha de
        configurarse mysqld_safe utilizando opciones
        de línea de comandos u opciones en la sección
        [mysqld_safe] de un archivo de opciones
        my.cnf. En casos aislados, podría ser
        necesario editar mysqld_safe para que inicie
        el servidor apropiadamente. No obstante, si se hace esto, la
        versión modificada de mysqld_safe podría
        ser sobreescrita si se actualiza la versión de MySQL en el
        futuro, así que debería hacerse una copia de la versión
        editada que pudiera reinstalarse.
      
En NetWare, mysqld_safe es un NetWare Loadable Module (NLM) que ha sido portado desde el script original de Unix. Hace lo siguiente:
Ejecuta un número de comprobaciones del sistema y de opciones.
            Ejecuta comprobaciones sobre tablas
            MyISAM.
          
Provee de una presencia en pantalla a el servidor MySQL.
Inicia mysqld, lo supervisa, y lo reinicia si termina con error.
            Envía mensajes de error desde mysqld a
            el archivo
            host_name.err
            Envía la salida por pantalla de
            mysqld_safe hacia el archivo
            host_name.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.

