6
votes

MySQL 5.7.9 sur OS X El Capitan: Erreur du serveur Quitter sans mettre à jour le fichier PID

J'ai un serveur Mac Pro avec OS X Yosemite, il y a quelques jours, nous avons effectué une mise à niveau vers OS X El Capitan. Le problème se pose quand j'essaie de réinstaller MySQL. Je suis allé à la page officielle MySQL et téléchargez la dernière version (5.7.9) dans un package DMG et l'installé normalement.
Après installer et redémarrer le serveur, le serveur MySQL n'a pas démarré automatiquement et lorsque vous commencez manuellement, j'obtiens:

simidat-apps:~ admin$ sudo mysqld --user=mysql
Password:
2015-11-18  9:08:36 140735160397824 [Note] mysqld (mysqld 10.1.8-MariaDB) starting as process 81030 ...
2015-11-18  9:08:36 140735160397824 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2015-11-18  9:08:36 140735160397824 [ERROR] mysqld: File '/usr/local/var/mysql/aria_log_control' not found (Errcode: 13 "Permission denied")
2015-11-18  9:08:36 140735160397824 [ERROR] mysqld: Got error 'Can't open file' when trying to use aria control file '/usr/local/var/mysql/aria_log_control'
2015-11-18  9:08:36 140735160397824 [ERROR] Plugin 'Aria' init function returned error.
2015-11-18  9:08:36 140735160397824 [ERROR] Plugin 'Aria' registration as a STORAGE ENGINE failed.
2015-11-18  9:08:36 140735160397824 [Note] InnoDB: Using mutexes to ref count buffer pool pages
2015-11-18  9:08:36 140735160397824 [Note] InnoDB: The InnoDB memory heap is disabled
2015-11-18  9:08:36 140735160397824 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2015-11-18  9:08:36 140735160397824 [Note] InnoDB: Memory barrier is not used
2015-11-18  9:08:36 140735160397824 [Note] InnoDB: Compressed tables use zlib 1.2.5
2015-11-18  9:08:36 140735160397824 [Note] InnoDB: Using CPU crc32 instructions
2015-11-18  9:08:36 140735160397824 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2015-11-18  9:08:36 140735160397824 [Note] InnoDB: Completed initialization of buffer pool
2015-11-18  9:08:36 140735160397824 [ERROR] InnoDB: ./ibdata1 can't be opened in read-write mode
2015-11-18  9:08:36 140735160397824 [ERROR] InnoDB: The system tablespace must be writable!
2015-11-18  9:08:36 140735160397824 [ERROR] Plugin 'InnoDB' init function returned error.
2015-11-18  9:08:36 140735160397824 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2015-11-18  9:08:36 140735160397824 [Note] Plugin 'FEEDBACK' is disabled.
2015-11-18  9:08:36 140735160397824 [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded
2015-11-18  9:08:36 140735160397824 [ERROR] Unknown/unsupported storage engine: InnoDB
2015-11-18  9:08:36 140735160397824 [ERROR] Aborting


3 commentaires

S'il vous plaît commencer # mysqld --user = mySQL et poster la sortie, ou # mysqld --user = racine


J'ai édité la question avec ces résultats de la commande.


Dans le journal, il semble évident que les autorisations sont erronées dans le fichier ibdata1 ou sur le répertoire contenant.


3 Réponses :


4
votes

Votre problème n'est pas réellement mysql, mais plutôt du schéma de MariDB. Le problème est les autorisations sur le fichier aria_log_control .

J'ai installé MySQL / MARIADB via Brew , et donc i:

  1. Réinitialiser Perms à 775 ( sudo chmod 775 / usr / local / var / mysql / aria_log_control`)
  2. supprimé le fichier journal (E.g. RM / USR / local / var / mysql / *. Accueil.err )
  3. Démarrer / arrêter le mysqld

    Autres sources affirmez que vous devez supprimer le Dir MySQL. Ce n'était pas le cas pour moi.


0 commentaires

0
votes

Selon La réponse répertoriée sur GitHub , modifiez l'utilisateur MySQLD à Votre utilisateur: -

Créer /usr/local/etc/my.cnf.d/user.cnf

et ajoutez les lignes suivantes: - < Pré> xxx

OSX Sierra 10.12.1 / mariadb 10.1.19

https://github.com/homebrew/legacy-homebrew/issues/50670

(J'ai essayé de changer les autorisations sur le aria_log_control fichier mais ceux-ci n'ont pas survécu à un redémarrage).


0 commentaires

1
votes

L'autre chose à vérifier est que les autorisations de tous les répertoires parent au-dessus du répertoire de données MySQL sont correctes.

pour ex. Vérifiez que les autorisations sur / var sont correctes et les autorisations sur / var / lib / sont correctes.

Dans mon cas, mes autorisations de Var ont été gâchées et que l'utilisateur "mysql" n'a pas pu accéder au répertoire var.

Un moyen de vérifier que cela consiste à basculer sur un utilisateur régulier et à vous assurer que l'utilisateur régulier peut CD à / var et à / var / lib (supposer que MySQL Data Dir est à l'intérieur /var/lib).<


0 commentaires