sql >> Base de Datos >  >> RDS >> Mysql

Muy persistente /opt/lampp/bin/mysql.server:264:kill:No existe tal proceso. Xampp/ubuntu 16.04

Así que este es un problema muy complicado.

Porque por lo que describiste (muy detallado), todavía hay muchas causas posibles para este problema.

PREGUNTA: Así que aquí hay algunas preguntas resumidas para usted (desde mi experiencia):

  1. ¿Su MySQL not running? sucedió durante su primer inicio (xampp start / xampp startmysql)?
  2. Después de instalar xampp en Linux, ¿personalizó la configuración de MySQL (predeterminada, etc./my.cnf)?
  3. SI SE PERSONALIZA ¿Personalizaste tu directorio de base de datos a una ubicación diferente (por defecto /opt/lampp/var/mysql)?
  4. SI NO SE PERSONALIZA Como mencionó, tiene acceso a la línea de comandos de mysql, ¿ha intentado SQL en su base de datos, o si la base de datos ni siquiera estaba accesible (lo que significa que el servidor mysql, llamado mysqld, no se inició correctamente)?
  5. ¿Ha inicializado/instalado personalmente una base de datos mysql (bin/mysql_install_db predeterminado)? Bien, estas preguntas anteriores deberían brindarle una idea básica para solucionar problemas.

SOLUCIÓN:

1. problema de registro de errores

Así que este debería ser el problema más simple y podría ayudarnos a identificar mejor las causas del error.

Comprobar

a) en la configuración de MySQL (my.cnf), ¿cuál es su usuario en ejecución? este debería ser un parámetro en [mysqld] user=... (mysql predeterminado), asumimos que nuestra configuración está establecida en mysql

b) ¿Tiene una cuenta para ejecutar el comando de terminal de prueba de usuario id -u mysql , si devuelve un número de identificación, entonces la cuenta existe; de ​​lo contrario, debería indicarle que no such user . Debe tener este usuario para ejecutar el servidor mysql y escribir el registro de errores (mirando la segunda parte de su registro de terminal, su cuenta debería existir)

c) verifique la ubicación del registro de errores de configuración de MySQL (my.cnf), debe estar bajo [mysqld] como parámetro log-error=... si esto no está escrito, agréguelo (debe estar bajo [mysqld]).

d) verifique cada directorio de su ruta completa de registro que (por ejemplo, /var/log/mysql/error.log)

  • /var debería tener read y execute autoridad para el usuario de mysql (que es al menos ******r-x) pase la autoridad de creación de archivo (ejecutar)
  • /var/log debería tener read y execute autoridad para el usuario de mysql (que es al menos ******r-x) pase la autoridad de creación de archivo (ejecutar)
  • /var/log/mysql debería tener read , write y execute autoridad para el usuario mysql (que es ******rwx) autoridad para crear y escribir archivos

Para que su archivo error.log pueda crearse aquí, si aún no funciona, intente crearlo manualmente con el propietario como mysql, el grupo como mysql y la autoridad de 660.

2. Estado de ejecución del servidor MySQL

hay varios enfoques para verificar esto

a) use mysql.server (bin/mysql.server predeterminado) para hacer mysql.server status dominio. Si su servidor MySQL está funcionando, debería mostrar ¡ÉXITO! MariaDB se está ejecutando.

b) usar top comando para verificar si el servicio se está ejecutando, o use top | grep "mysqld" . mysqld y mysqld_safe debería estar en él.

c) inicie sesión en la línea de comandos de mysql tal como lo hizo en el registro de terminal 4 (esta parte funciona) y ejecute el comando SHOW DATABASES; esto también debería funcionar.

3. La ubicación de la base de datos personalizada hace que Xampp mysql no se ejecute Este es un problema mucho más profundo, porque he confirmado que el servidor MySQL funciona correctamente.

lo hice

[[email protected] ~]# /opt/lampp/xampp status
Version: XAMPP for Linux 7.4.1
Apache is running.
MySQL is not running.
ProFTPD is running.
[[email protected] ~]# /opt/lampp/bin/mysql.server status
SUCCESS! MariaDB running (xxxx)

Entonces, esto muestra que xampp está obteniendo el estado del servicio incorrectamente (como otra publicación La base de datos MySQL se inicia en la Terminal pero no en XAMPP )

Podría rastrear en detalle cómo funciona xampp, pero en /opt/lampp/xampp archivo de script, encontré /opt/lampp/share/xampp/status y /opt/lampp/share/statusraw

Vaya más allá (ambos /opt/lampp/share/xampp/status y /opt/lampp/share/statusraw archivo),

 /opt/lampp/var/mysql/` /bin/hostname`.pid mysqld

Como mi base de datos se personalizó en un directorio localizado, esto significa que el archivo pid no estará en /opt/lampp/var/mysql , y este estado siempre regresará incorrectamente.

Entonces, cambiar esto a mi propia ubicación de pid de base de datos resolvió el problema.