Mysql
 sql >> Database >  >> RDS >> Mysql

Molto persistente /opt/lampp/bin/mysql.server:264:kill:nessun processo del genere. Xampp/ubuntu 16.04

Quindi questo è un problema molto complicato.

Perché da quello che hai descritto (molto dettagliato), ci sono ancora molte possibili cause di questo problema.

DOMANDA: Quindi ecco alcune domande riassunte per la tua (dalla mia esperienza):

  1. Il tuo MySQL not running è successo durante il tuo primo avvio (xampp start / xampp startmysql)?
  2. Dopo aver installato xampp in Linux, hai personalizzato la configurazione di MySQL (predefinita etc/my.cnf)?
  3. SE PERSONALIZZATO Hai personalizzato la directory del database in una posizione diversa (predefinita /opt/lampp/var/mysql)?
  4. SE NON PERSONALIZZATO Come hai detto hai accesso alla riga di comando di mysql, hai provato a SQL il tuo database, o se il database non era nemmeno accessibile (il che significa che il server mysql, chiamato mysqld, non si è avviato correttamente)?
  5. Hai personalmente inizializzato/installato un database mysql (bin predefinito/mysql_install_db)?Ok, queste domande di cui sopra dovrebbero fornire un'idea di base per la risoluzione dei problemi.

SOLUZIONE:

1. problema del registro degli errori

Quindi questo dovrebbe essere il problema più semplice e potrebbe aiutarci a identificare meglio le cause dell'errore.

Controlla

a) nella configurazione MySQL (my.cnf) qual è il tuo utente in esecuzione? questo dovrebbe essere un parametro in [mysqld] user=... (mysql predefinito), assumiamo che la nostra configurazione sia impostata su mysql

b) disponi di un account per eseguire l'utente prova il comando terminale id -u mysql , se restituisce un numero ID, allora l'account esiste, altrimenti dovrebbe dirti no such user . Devi avere questo utente per eseguire il server mysql e scrivere il registro degli errori (guardando la seconda parte del record del tuo terminale, il tuo account dovrebbe esistere)

c) controlla la posizione del registro degli errori di configurazione di MySQL (my.cnf), dovrebbe essere in [mysqld] come parametro log-error=... se questo non è scritto, aggiungilo (deve essere in [mysqld]).

d) controlla ogni directory del percorso completo del tuo log che (ad esempio /var/log/mysql/error.log)

  • /var dovrebbe avere read e execute autorizzazione per l'utente mysql (che è almeno ******r-x) passa crea file (esegui) autorizzazione
  • /var/log dovrebbe avere read e execute autorizzazione per l'utente mysql (che è almeno ******r-x) passa crea file (esegui) autorizzazione
  • /var/log/mysql dovrebbe avere read , write e execute autorità per l'utente mysql (che è ******rwx) crea e scrivi un'autorizzazione file

Affinché il tuo file error.log possa essere creato qui, se ancora non funziona, prova a crearlo manualmente con il proprietario come mysql, il gruppo come mysql e l'autorità di 660.

2. Stato di esecuzione del server MySQL

ci sono diversi approcci per verificarlo

a) usa mysql.server (bin predefinito/mysql.server) per fare mysql.server status comando. Se il tuo server MySQL è in esecuzione, dovrebbe mostrare SUCCESS! MariaDB è in esecuzione.

b) utilizzare top comando per verificare se il servizio è in esecuzione o utilizzare top | grep "mysqld" . mysqld e mysqld_safe dovrebbe in esso.

c) accedi alla riga di comando di mysql proprio come hai fatto nel record di terminale 4 (questo funziona in parte) e fai il comando SHOW DATABASES; anche questo dovrebbe funzionare.

3. La posizione del database personalizzata causa lo stato di Xampp mysql non in esecuzione Questo è un problema molto più profondo, perché ho confermato che il server MySQL funziona correttamente.

L'ho fatto

[[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)

Quindi questo mostra che xampp sta recuperando lo stato del servizio in modo errato (come un altro post Il database MySQL viene avviato su Terminale ma non su XAMPP )

Potrei tracciare in dettaglio come funziona xampp, ma in /opt/lampp/xampp script, ho trovato /opt/lampp/share/xampp/status e /opt/lampp/share/statusraw

Vai oltre (entrambi /opt/lampp/share/xampp/status e /opt/lampp/share/statusraw file),

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

Poiché il mio database è stato personalizzato in base alla directory localizzata, ciò significa che il file pid non sarà in /opt/lampp/var/mysql , e questo stato tornerà sempre in modo errato.

Quindi, modificarlo nella mia posizione pid del database ha risolto il problema.