web-dev-qa-db-fra.com

Problèmes de démarrage du serveur MySQL sur Mavericks

Je ne parviens pas à utiliser MySQL sur mon MacBook. J'essaie de démarrer mon serveur à l'aide de Sudo mysqld_safe. Le résultat est le suivant:

140131 00:03:02 mysqld_safe Logging to '/usr/local/var/mysql/david-mbp.err'.
140131 00:03:02 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
140131 00:03:03 mysqld_safe mysqld from pid file /usr/local/var/mysql/david-mbp.pid ended

J'ai jeté un coup d'œil à cette question et les problèmes et méthodes que j'ai essayés pour résoudre mes problèmes sont identiques. Sa solution était la mise à niveau vers Lion, mais je suis déjà sur la dernière version de Mavericks, ce n’est donc pas une solution viable pour moi.

J'ai cherché sur Google et réinstallé de nombreuses fois, mais je n'ai pas réussi à trouver la raison de mon problème. 

Comment puis-je résoudre ce problème?

Modifier:

140131 00:03:02 mysqld_safe Starting mysqld daemon with databases from /usr/local/var/mysql
2014-01-31 00:03:03 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
2014-01-31 00:03:03 13223 [Warning] Setting lower_case_table_names=2 because file system for /usr/local/var/mysql/ is case insensitive
2014-01-31 00:03:03 13223 [Note] Plugin 'FEDERATED' is disabled.
/usr/local/Cellar/mysql/5.6.15/bin/mysqld: Can't find file: './mysql/plugin.frm' (errno: 13 - Permission denied)
2014-01-31 00:03:03 13223 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
2014-01-31 00:03:03 13223 [Note] InnoDB: The InnoDB memory heap is disabled
2014-01-31 00:03:03 13223 [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
2014-01-31 00:03:03 13223 [Note] InnoDB: Compressed tables use zlib 1.2.3
2014-01-31 00:03:03 13223 [Note] InnoDB: Using CPU crc32 instructions
2014-01-31 00:03:03 13223 [Note] InnoDB: Initializing buffer pool, size = 128.0M
2014-01-31 00:03:03 13223 [Note] InnoDB: Completed initialization of buffer pool
2014-01-31 00:03:03 13223 [ERROR] InnoDB: ./ibdata1 can't be opened in read-write mode
2014-01-31 00:03:03 13223 [ERROR] InnoDB: The system tablespace must be writable!
2014-01-31 00:03:03 13223 [ERROR] Plugin 'InnoDB' init function returned error.
2014-01-31 00:03:03 13223 [ERROR] Plugin 'InnoDB' registration as a STORAGE ENGINE failed.
2014-01-31 00:03:03 13223 [ERROR] Unknown/unsupported storage engine: InnoDB
2014-01-31 00:03:03 13223 [ERROR] Aborting

2014-01-31 00:03:03 13223 [Note] Binlog end
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'partition'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'PERFORMANCE_SCHEMA'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_SYS_DATAFILES'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_SYS_TABLESPACES'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN_COLS'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_SYS_FOREIGN'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_SYS_FIELDS'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_SYS_COLUMNS'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_SYS_INDEXES'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_SYS_TABLESTATS'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_SYS_TABLES'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_FT_INDEX_TABLE'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_FT_INDEX_CACHE'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_FT_CONFIG'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_FT_BEING_DELETED'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_FT_DELETED'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_FT_DEFAULT_STOPWORD'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_METRICS'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_BUFFER_POOL_STATS'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE_LRU'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_BUFFER_PAGE'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX_RESET'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_CMP_PER_INDEX'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_CMPMEM_RESET'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_CMPMEM'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_CMP_RESET'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_CMP'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_LOCK_WAITS'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_LOCKS'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'INNODB_TRX'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'BLACKHOLE'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'ARCHIVE'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'MRG_MYISAM'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'MyISAM'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'MEMORY'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'CSV'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'sha256_password'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'mysql_old_password'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'mysql_native_password'
2014-01-31 00:03:03 13223 [Note] Shutting down plugin 'binlog'
2014-01-31 00:03:03 13223 [Note] /usr/local/Cellar/mysql/5.6.15/bin/mysqld: Shutdown complete

140131 00:03:03 mysqld_safe mysqld from pid file /usr/local/var/mysql/david-mbp.pid ended

ls -l/usr/local/var/mysql sortie:

-rw-rw----   1 dave      admin  50331648 30 Jan 22:35 ib_logfile0
-rw-rw----   1 dave      admin  50331648 30 Jan 22:35 ib_logfile1
-rw-rw----   1 dave      admin  12582912 30 Jan 22:35 ibdata1
drwx------  81 dave      admin      2754 30 Jan 22:35 mysql
drwx------  55 dave      admin      1870 30 Jan 22:35 performance_schema
-rw-r-----   1 _mysql    admin      4784 31 Jan 00:03 david-mbp.err
drwx------   2 dave      admin        68 30 Jan 22:35 test
35
user3144542

Les autorisations de fichiers sont certainement la cause du problème. Il existe de bien meilleurs experts que moi, mais je recommande ce qui suit:

Assurez-vous que l’ensemble de votre répertoire de données appartient à l’utilisateur _mysql avec les autorisations drwxr-xr-x.

Dans votre cas, il semble que votre répertoire d'installation MySQL soit votre répertoire de données. Mon répertoire de données se trouve dans un sous-répertoire du répertoire d'installation.

Vous pouvez probablement être opérationnel en modifiant les autorisations par la commande:

Sudo chown -R _mysql:admin /usr/local/var/mysql
Sudo chmod -R u+rwX,g+rwX,o-rwx /usr/local/var/mysql

Cela peut empêcher votre compte dave d'accéder au répertoire d'installation mysql sans Sudo. Vous pouvez donc modifier ces autorisations pour inclure g+rwx si votre utilisateur dave est membre du groupe admin qu'il semble être. Ce Tweak serait accompli avec:

Sudo chmod -R g+rwx /usr/local/var/mysql
96
ATP_JD

j'ai corrigé cela en supprimant simplement le fichier ".err". En quelque sorte, le journal des erreurs appartenant à "_mysql" et empêcher mysqld zu start.

2
user5349557

Dans mon cas, j'ai eu un problème similaire sur Mac OS 10.10 Yosemite. Pour une raison quelconque, lorsque j'ai tué manuellement le processus mysql, il a changé la propriété du fichier journal des erreurs /usr/local/var/mysql/rally.local.err en _mysql au lieu de caleb. Contrairement à la solution acceptée ci-dessus, le reste de mon répertoire appartient à caleb et non _mysql.

Je l'ai corrigé en exécutant Sudo chown caleb /usr/local/var/mysql/rally.local.err

Pour mémoire, je suppose que la méthode appropriée pour arrêter et démarrer le serveur mysql dans Yosemite est d'utiliser /usr/local/var/mysql/mysql.server start|stop|restart.

1
Caleb

Si vous ne disposez pas de données importantes, le plus simple serait de réinstaller MariaDB à partir de zéro (sinon, ignorez cette étape), par exemple.

mv /usr/local/var/mysql /usr/local/var/mysql.bak
brew reinstall mariadb

Fixez ensuite les autorisations en:

Sudo chmod -R u+rwX,g+rwX,o-rwx /usr/local/var/mysql
Sudo chown -R $USER:_mysql /usr/local/var/mysql

Redémarrez les services MariaDB en:

brew services restart mariadb

Pensez à configurer vos informations d'identification MariaDB en exécutant:

mysql_secure_installation

Dépannage

  • Si cela ne fonctionne toujours pas, recherchez dans les journaux d'autres problèmes en:

    tail /usr/local/var/mysql/*.err
    
  • Par exemple, vérifiez si l’ancien fichier de configuration contient des paramètres non valides, car ils risquent de ne plus être pris en charge.

1
kenorb