L'avvio di MySQL produce "Il server esce senza aggiornare il file PID"

3

Ho letteralmente cercato in tutto lo Stack Overflow, Superuser, non riesco a trovare una soluzione al mio problema che sto vivendo in questo momento, quando voglio iniziare MySQL, produce questo errore:

ERROR! The server quit without updating PID file (/usr/local/var/mysql/My-Username.local.pid).

con il comando sudo mysql.server start , tuttavia, se uso semplicemente il comando mysql , produrrà:

ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)

Che è anche un altro problema che non posso correggere, ho fatto touch /tmp/mysql.sock , niente.

Ho chown 'd /usr/local/var/mysql con mysql:mysql in modo ricorsivo, ma questo non ha aiutato affatto.

Ho installato MySQL tramite homebrew su OS X 10.7.3. Come posso avviare MySQL?

    
posta MacMac 01.05.2012 - 22:37
fonte

3 risposte

2

Noi (io e Mr Burning) abbiamo fatto qualche diagnosi in chat e descriverò in dettaglio ciò che abbiamo trovato:

La radice del suo problema era che MySQLd era già in esecuzione in qualche modo. Questa potrebbe essere una versione precedente di MySQL installata da Homebrew, ancora in esecuzione dopo l'aggiornamento dei file binari / librerie.

La nostra risoluzione era semplicemente quella di uccidere tutti i processi in esecuzione. Quindi, launchd di OS X ha funzionato e ha riavviato MySQLd, che è stato eseguito definitivamente come installato da Homebrew.

Questo sembrava risolvere il problema.

    
risposta data 02.05.2012 - 23:26
fonte
1

C'era un bug in cui MySQL avrebbe aspetto per il suo socket. Penso che questo sia anche il tuo problema. L'ho scoperto diversi anni fa quando utilizzavo phpMyAdmin.

Sembra esserci un problema con il modo in cui le versioni correnti di OS X memorizzano il socket mysql e come phpMyAdmin lo cerca. Sembra che attualmente il socket sia memorizzato in /tmp/mysql.sock ma phpMyAdmin lo sta cercando in /var/mysql/mysql.sock . Il risultato è un tipo di errore di connessione # 2002.

ecco la soluzione. Crea un link simbolico. Fai quanto segue dal terminale.

sudo mkdir /var/mysql
sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock
    
risposta data 01.05.2012 - 22:53
fonte
0

Finalmente risolto questo problema ... (3 giorni dopo)

  1. Apri YOURUSERNAME.local.err in / Applicazioni / XAMPP / xamppfiles / var / mysql / con un editor di testo.
  2. Ho avuto "InnoDB: il tuo database potrebbe essere danneggiato o potresti aver copiato il file Spazio inoDB ma non i file di registro InnoDB "
  3. Quindi segui le istruzioni su link come indicato nel registro file
  4. Aggiungi "innodb_foce_recovery = 2" dopo line: [mysqld] sul tuo my.cnf situato in / XAMPP / xamppfiles / etc /
  5. Quindi "sudo /Applications/XAMPP/xamppfiles/bin/mysql.server start" Dagli un minuto e dovrebbe ripararsi
  6. Commenta con "#innodb_foce_recovery = 2" in my.cnf
risposta data 13.05.2015 - 11:52
fonte

Leggi altre domande sui tag