Mysql
 sql >> Base de données >  >> RDS >> Mysql

Très persistant /opt/lampp/bin/mysql.server :264 :kill :Aucun processus de ce type. Xampp/ubuntu 16.04

C'est donc un problème très compliqué.

Parce que d'après ce que vous avez décrit (très détaillé), il existe encore de nombreuses causes possibles à ce problème.

QUESTION : Voici donc quelques questions résumées pour vous (d'après mon expérience) :

  1. Votre MySQL not running s'est-il passé lors de votre premier démarrage (xampp start / xampp startmysql) ?
  2. Après avoir installé xampp sous Linux, avez-vous personnalisé la configuration de MySQL (par défaut, etc/my.cnf) ?
  3. SI PERSONNALISÉ Avez-vous personnalisé votre répertoire de base de données à un emplacement différent (par défaut /opt/lampp/var/mysql) ?
  4. SI NON PERSONNALISÉ Comme vous l'avez mentionné, vous avez accès à la ligne de commande mysql, avez-vous essayé de SQL votre base de données, ou si la base de données n'était même pas accessible (ce qui signifie que le serveur mysql, nommé mysqld, n'a pas démarré correctement) ?
  5. Avez-vous personnellement initialisé/installé une base de données mysql (bin/mysql_install_db par défaut) ? Ok, ces questions ci-dessus devraient fournir une idée de dépannage de base.

SOLUTION :

1. problème de journal d'erreurs

Donc, celui-ci devrait être le problème le plus simple, et cela pourrait nous aider à mieux identifier les causes de l'erreur.

Vérifier

a) dans la configuration MySQL (my.cnf), quel est votre utilisateur courant ? cela devrait être un paramètre sous [mysqld] user=... (mysql par défaut), nous supposons que notre configuration est définie sur mysql

b) avez-vous un compte pour exécuter la commande utilisateur try terminal id -u mysql , s'il renvoie un numéro d'identification, alors le compte existe, sinon il devrait vous dire no such user . Vous devez avoir cet utilisateur pour exécuter le serveur mysql et écrire le journal des erreurs (en regardant la deuxième partie de votre enregistrement de terminal, votre compte devrait exister)

c) vérifiez l'emplacement de votre journal d'erreurs de configuration MySQL (my.cnf), il devrait être sous [mysqld] en tant que paramètre log-error=... si ce n'est pas écrit, ajoutez-le (doit être sous [mysqld]).

d) vérifiez chaque répertoire du chemin complet de votre journal qui (par exemple /var/log/mysql/error.log)

  • /var devrait avoir read et execute autorité pour l'utilisateur mysql (qui est au moins ******r-x) passer l'autorité de création de fichier (exécution)
  • /var/log doit avoir read et execute autorité pour l'utilisateur mysql (qui est au moins ******r-x) passer l'autorité de création de fichier (exécution)
  • /var/log/mysql doit avoir read , write et execute autorité pour l'utilisateur mysql (qui est ******rwx) autorité de création et d'écriture de fichier

Pour que votre fichier error.log puisse être créé ici, s'il ne fonctionne toujours pas, essayez de le créer manuellement avec le propriétaire comme mysql, le groupe comme mysql et l'autorité de 660.

2. État d'exécution du serveur MySQL

il existe plusieurs approches pour vérifier cela

a) utilisez mysql.server (par défaut bin/mysql.server) pour faire mysql.server status commande. Si votre serveur MySQL est en cours d'exécution, il devrait afficher SUCCESS ! MariaDB est en cours d'exécution.

b) utilisez top commande pour vérifier si le service est en cours d'exécution, ou utilisez top | grep "mysqld" . mysqld et mysqld_safe devrait dedans.

c) connectez-vous à la ligne de commande mysql comme vous l'avez fait dans l'enregistrement du terminal 4 (cela fonctionne en partie) et exécutez la commande SHOW DATABASES; cela devrait également fonctionner.

3. Emplacement de la base de données personnalisé car Xampp mysql n'est pas en cours d'exécution Il s'agit d'un problème beaucoup plus profond, car j'ai confirmé que le serveur MySQL fonctionne correctement.

j'ai fait

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

Cela montre donc que xampp récupère l'état du service de manière incorrecte (comme un autre message La base de données MySQL démarre sur Terminal mais pas sur XAMPP )

Je pourrais retracer en détail le fonctionnement de xampp, mais dans /opt/lampp/xampp fichier de script, j'ai trouvé /opt/lampp/share/xampp/status et /opt/lampp/share/statusraw

Allez plus loin (à la fois /opt/lampp/share/xampp/status et /opt/lampp/share/statusraw fichier),

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

Comme ma base de données a été personnalisée dans un répertoire localisé, cela signifie que le fichier pid ne sera pas dans /opt/lampp/var/mysql , et ce statut retournera toujours de manière incorrecte.

Donc, changer cela dans mon propre emplacement de pid de base de données a résolu le problème.