web-dev-qa-db-fra.com

mysqld morts mais sous-sols verrouillé

J'exègre la commande suivante dans un script shell et je l'exécute sur un serveur RHEL-6 et la version mysql 5.1.47-

mysqld_safe --defaults-extra-file=/custom/path/of/my.cnf

Le chemin de my.cnf peut être n'importe quoi. (Si je ne me trompe pas, comme un développeur, nous ne pouvons pas déterminer où MySQL pourrait être installé.) Après la commande ci-dessus dans le script, il existe quelques commandes MySQL à exécuter. Lorsque le script exécute la commande ci-dessus, la console de sortie affiche que le service MySQL a commencé avec succès. Mais lorsque le contrôle entre en partie où les commandes MySQL doivent être exécutées, le message d'erreur suivant s'affiche

mysqld dead but subsys locked

Une idée où je vais mal?

C'est ce que mes my.cnf contient-

[mysqld]
innodb_log_buffer_size=8M
innodb_flush_log_at_trx_commit=1
innodb_file_io_threads=4
max_binlog_size=20M
max_allowed_packet=16M
max_connections=500
log_bin=logFile.log
binlog-do-db=test
server-id=1
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
binlog-format=ROW
log_warnings=1
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
3
AlwaysALearner

Pour moi, cela signifie que le démon s'est écrasé et a été redémarré, mais le Lockfile que MySQLD utilise pour empêcher de multiples démons d'accéder à la même base de données est toujours là ...

Je le répare avec

service mysqld stop
service mysqld start

Je ne sais pas si vous pouvez simplement faire un redémarrage au lieu d'un arrêt, alors commencez et je n'ai pas encore compris la cause pour l'accident non plus.

1
Noishe

Après avoir exécuté la commande mysqld_safe, assurez-vous que votre serveur MySQL est démarré à l'aide de 'PS -EF | La commande grep mysql '. Vous verriez deux processus (mysqld & mysqld_safe) dans la sortie de commande si le serveur MySQL est démarré.

  • Si le serveur ne commence pas du tout, ajoutez log_error =/Personnaliser/chemin/chemin/joindre/fichier dans [mysqld] dans votre mySQF et coller le journal d'erreur ici pour enquêter sur le numéro de MySQL Server.
  • Si le serveur commence, mais il suffit d'émettre des sous-su ou des autorisations, sinon.]
    1. arrêter le service mysql
    2. supprimer le fichier Subsys (généralement:/var/serrure/sous-sys/mysql)
    3. démarrez le service MySQL et essayez de vous connecter à MySQL Server comme suit: mysql -uroot -p votre_root_pass

Il serait utile que quiconque identifie la cause exacte du problème de service si vous ne voudriez pas coller des journaux d'erreur.

0
sql-no