2016-03-22 4 views
9

alcuni giorni fa ho lasciato preparare brew ad aggiornare tutte le mie formule come sempre ma questa volta mysqld non si riavvia.MySQLd non si avvia dopo l'aggiornamento della miscela da 5.6 a 5.7

Questo è il messaggio di errore:

2016-03-22T13:58:22.515719Z 0 [ERROR] Fatal error: mysql.user table is damaged. Please run mysql_upgrade. 
2016-03-22T13:58:22.515819Z 0 [ERROR] Aborting 

Ma dal momento che non riesco a server iniziato, non posso ottenere mysql_upgrade esecuzione:

mysql_upgrade: Got error: 2013: Lost connection to MySQL server at 'reading initial communication packet', system error: 102 while connecting to the MySQL server 
Upgrade process encountered error and will not continue. 

Allora, cosa posso fare per ottenere questo che funziona ancora? brew uninstall mysql e la reinstallazione sarebbero in qualche modo di aiuto?

risposta

2

Ho finito per rinominare la cartella del mio database, eseguire mysql_install_db, copiare la nuova cartella del database mysql nella mia vecchia cartella del database mysql e riavviarlo. Sono sicuro che questo è hella sporca ma bene, ha funzionato :)

24

In primo luogo, avviare il mysql senza leggere la tabella degli utenti: mysqld --skip-grant-tables

Poi gestita mysql_upgrade che ora dovrebbe funzionare senza problemi.

Prossimo stop mysqld: killall mysqld.

Ora dovresti essere in grado di riavviare normalmente il servizio mysql.

+0

Su Ubuntu 16.4 LTS avevo bisogno di creare manualmente la cartella/var/run/mysql, altrimenti non sarebbe iniziata. – Zefiro