2010-11-11 7 views
18

Ho installato MySQL su Windows 7. Quando sto provando ad avviare il servizio MySQL sto ricevendo l'errore 1067: Il processo è terminato in modo imprevisto. Log messaggio:Errore 1067 sul tentativo di avviare MySQL

101111 22:27:11 [Note] Plugin 'FEDERATED' is disabled. 
C:\Program Files\MySQL\MySQL Server 5.1\bin\mysqld: Table 'mysql.plugin' doesn't exist 
101111 22:27:11 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it. 
InnoDB: Log scan progressed past the checkpoint lsn 0 37356 
101111 22:27:11 InnoDB: Database was not shut down normally! 
InnoDB: Starting crash recovery. 
InnoDB: Reading tablespace information from the .ibd files... 
InnoDB: Restoring possible half-written data pages from the doublewrite 
InnoDB: buffer... 
InnoDB: Doing recovery: scanned up to log sequence number 0 44233 
101111 22:27:11 InnoDB: Starting an apply batch of log records to the database... 
InnoDB: Progress in percents: 86 87 88 89 90 91 92 93 94 95 96 97 98 99 
InnoDB: Apply batch completed 
101111 22:27:12 InnoDB: Started; log sequence number 0 44233 
101111 22:27:12 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.host' doesn't exist 

Cosa posso fare al riguardo?

risposta

24

La soluzione era installare MySQL senza spazi nel percorso di installazione. Windows 7, 64-bit

+0

Tank you !!!! Questo lavoro per me! Windows 7, 32-bit – Makko

0

Controllare il file "C: \ Programmi \ MySQL \ MySQL Server 5.1 \ my.ini"

La linea datadir in my.ini necessario specificare un percorso. Controlla il contenuto di quel percorso del datadir. Contiene una cartella denominata "mysql" e un'altra cartella denominata "test"?

Se no, qui ci sono due scelte:

  1. cambiare la linea datadir in my.ini nella posizione corretta. Questo sarà probabilmente C: \ ProgramData \ MySQL \ MySQL Server 5.1 \ data

  2. Elimina i contenuti esistenti del percorso del datadir. Copia il contenuto di C: \ ProgramData \ MySQL \ MySQL Server 5.1 \ data nel percorso del tuo datadir. Il riavvio del servizio mysql dovrebbe ricostruire il tuo database vuoto.

+1

Devo chiarire che questo errore si verifica quando MySQL non riesce a trovare le sue tabelle del database. La linea datadir in my.ini specifica la posizione della cartella delle tabelle del database MySQL.La cartella del database MySQL deve contenere almeno un file ibdata1, ib_logfile0 e ib_logfile1 e anche una sottocartella denominata mysql. Quella sottocartella mysql dovrebbe contenere un gruppo di file con estensioni di file .frm, .MYD e .MYI. In effetti, il messaggio di errore "Tabella 'mysql.host' non esiste" si lamenta del fatto che il file mysql \ hosts.frm sia mancante. – user281806

+0

Inoltre, il percorso del file my.ini viene effettivamente specificato nelle proprietà per il servizio MySQL, nell'argomento della riga di comando "--defaults-file" per il servizio MySQL. È possibile verificare tale valore digitando "sc qc mysql" (senza virgolette) al prompt dei comandi. La riga di comando del servizio si trova nella sezione BINARY_PATH_NAME. – user281806

0

Nel mio caso non aveva nulla a che fare con gli spazi nel nome del file. Ho usato la configurazione personalizzata del programma di installazione MSI e ho optato per escludere i database predefiniti, assumendo che fosse solo qualcosa come Northwind/Adventureworks. No, include il database di sistema centrale MySql ... una volta che l'ho aggiunto all'installazione ha funzionato.

10

La soluzione al problema per me era cercare nella directory di installazione, trovare la cartella/data e copiarne il contenuto nella cartella dati specificata nel mio file di configurazione .ini/.cnf.

+0

La soluzione mi ha indirizzato verso la soluzione: aggiornare il file di configurazione .ini/.cnf in modo che punti alla directory "data" corretta. Grazie! – mginius

+0

CORRETTO. Ho dovuto spostare il contenuto di "C: \ Programmi \ MySQL \ MySQL Server 5.7 \ data" in "C: \ ProgramData \ MySQL \ MySQL Server 5.7 \ Data". Funzionava istantaneamente, questo è qualcosa che l'installatore avrebbe dovuto fare. – Adambean

0

Mi sono imbattuto negli stessi errori. Approccio simile per me. Da quello che posso dire, c'è qualcosa di strano in corso con il riferimento al datadir nel file my.ini. Anche quando l'ho modificato manualmente non potevo avere alcun effetto su di esso, fino a quando non ho soffiato TUTTO. Vorrei avere notizie migliori ... prima fare un backup del database.

Per me la chiave per ottenere questo lavoro è stato:

1) Rimuovere la precedente installazione dal pannello di controllo Impostazioni->. Riavvia la tua macchina. 2) Una volta che il computer è tornato, eliminare con forza la precedente directory di installazione. [il mio è C: \ apps \ MySQL \ MySQLServer-5.5 \, poiché RIFIUTO di utilizzare i file c: \ program .. 3) Eliminare forzatamente la directory del datadir precedente [il mio era c: \ data \ mysql]. 4) Eliminare forzatamente la precedente directory di dati predefinita [C: \ Documents and Settings \ All
Users \ Application Data \ MySQL]. 5) Rieseguire l'installazione, selezionare la stessa directory di installazione. Saltare l'istanza configuratore/procedura guidata al termine dell'installazione. 6) Assicurarsi che la directory ../bin venga aggiunta al percorso. Verificarlo 7) Eseguire manualmente il configuratore/procedura guidata dell'istanza.
Impostare la password di root, porta [3306]. Proverà ad avviarlo. Ancora una volta, il mio FAILED per iniziare [duh! niente di nuovo lì !!! ] 8) Ora modifica manualmente il mio.file ini nella directory di installazione e correggere l'impostazione datadir in modo che sia [datadir = "C:/Data/MySQL /"] MATRIMONIALIZZAZIONE MATCH !!!! 9) Verificare che il servizio sia configurato correttamente tramite il prompt dei comandi [sc qc mysql].
dovrebbe essere simile:

C: \ dev \ cmdz> sc qc mysql [SC] GetServiceConfig SUCCESSO

SERVICE_NAME: mysql TIPO: 10 WIN32_OWN_PROCESS START_TYPE: 2 auto_start ERROR_CONTROL: 1 NORMALE BINARY_PATH_NAME : "C: \ apps \ MySQL \ MySQLServer-5.5 \ bin \ mysqld" --defaults-file = "C: \ apps \ MySQL \ MySQLServer-5.5 \ my.ini" MySQL LOAD_ORDER_GROUP: TAG: 0 DISPLAY_NAME: MySQL DIPENDENZE: SERVICE_START_NAME: LocalSystem

10) Copiare il contenuto del data-directory predefinita creata sotto C: \ Documents and Settings \ All Users \ Dati applicazioni \ MySQL [praticamente tutto in questo elenco per il tuo desiderato dati directory c : \ data \ mysql]. Assicurati di avere la cartella C: \ Documents and Settings \ All
Users \ Application Data \ MySQL \ mysql. Questo ha il file host.frm e altri.
si dovrebbe finire con una directory ora di c: \ data \ MySQL \ mysql ...

11) Rinominare la directory predefinita C: \ Documents and Settings \ All Users \ Dati applicazioni \ MySQL Per C: \ Documents and Settings \ All Users \ dati applicazioni \ MySQLxxx Quindi non riesco a trovarlo ...

12) Inserisci una rapida preghiera ...

13) Dare un inizio di scossa da linea di comando con [net start mysql]

Che ha funzionato per me ...

Best of Luck!

2

Ho avuto lo stesso problema. Nel mio caso, si trattava di "errore utente" (anche se l'installer di Windows avrebbe dovuto essere più intelligente e non mi avrebbe permesso di commettere un tale errore).

Durante l'installazione, se si apportano modifiche ai percorsi di installazione predefiniti, assicurarsi di utilizzare gli stessi percorsi sia per i "File di dati del server" nella schermata Installazione personalizzata, sia successivamente in "Impostazioni del tablespace InnoDB" durante " MySQL Server instance Configuration Wizard"

2

ho avuto un problema cambiando la datadir in my.ini per Windows 7.

volevo che i dati da memorizzare su un disco diverso e mi muovevo questi dati da un altro PC copia l'intera cartella. Ho cambiato datadir su disco desiderato e salvato il file my.ini senza problemi.

Ma mysql non si avvia. Ho riaperto il file my.ini e sembra che sia stato modificato. Poi, ho notato che la data sul my.ini non era cambiata. Quindi ho dovuto modificare i privilegi di sicurezza per darmi accesso in scrittura.

Questa volta, quando l'ho salvato, la data è cambiata e mysql ha avviato l'accesso a tutti i dati corretti.

0

nel mio caso innodb_data_home_dir non era più corretto perché avevo mischiato alcune lettere di unità in giro quando ho aggiunto una nuova unità per il mio sistema

0

Nel mio caso, ho scompattato XAMPP ina un secondo disco sulla mia installazione , "F". Quando ho provato ad avviare come servizio, il reso era "1067". La soluzione era di modificare my.ini, inserendo l'unità "f:" nelle righe dei file. Ha risolto il problema.

0

Il problema sembra che non ci siano dati nella directory. copia almeno la directory mysql dalla tua directory precedente o da C: \ Programmi \ MySQL \ MySQL Server 5.5 \ data. E poi riprova.

0

Ho avuto lo stesso errore e è stato causato da caratteri non standard nel percorso dei file di registro. Per risolvere il problema ho trovato il file di configurazione my.ini (nel mio caso C:\ProgramData\MySQL\MySQL Server 5.6\my.ini) e le chiavi modificate slow_query_log_file e log-error. Successivamente sono riuscito ad avviare il servizio MySQL con successo.

13

Un'altra cosa che impedisce l'esecuzione del servizio di windows mysqld è se mysqld.exe è già in esecuzione (ma non come servizio).

Basta aprire il task manager di Windows e cercare "mysqld.exe" nella scheda Processi. Se lo vedi, uccidi e prova a riavviare il servizio.

c:\> net start [servicename] 

esempio: C:> inizio MySQL net

1

Prima di fare confusione con le cose troppo, si prega di controllare l'utente il servizio sta cercando di eseguire come. Nel mio caso era NETWORK questo non aveva permessi di scrittura per alcune posizioni dove era necessario. Cambiare l'utente in Account di sistema locale ha fatto il trucco.

Se il visualizzatore eventi mostra un errore come "Impossibile creare il file di test C: \ Programmi \ MySQL \ MySQL Server 5.6 \ data \ XXX.lower-test", c'è un'alta probabilità che questa soluzione funzioni . Buona fortuna!

1

Ho una cartella di dati mysql sostituita da una giunzione di directory di Windows. Sospetto ib_logfile0/1 e/o ibdata1 sia danneggiato.

Basta provare a eliminare quei file e computername.err. Quindi riavviare il servizio mysql. Questo è quello che ho fatto, con successo.

La copia dei file ibdata1, dopo una reinstallazione completa di mysql, nella dir della giunzione e la sostituzione della dir dalla giunzione, il riavvio di mysql, non erano sufficienti.

Devi permettere a mysql di ricostruire quei file.

3

Ho appena riscontrato un problema simile e ho scoperto che si tratta di un problema di autorizzazione. Quando copio il database "dati", devo aggiungere il permesso per "SERVIZIO DI RETE"

0

Nel mio caso, ho scelto un percorso personalizzato per i miei file di registro nel programma di installazione di MySQL. Ho inserito i file di registro nella cartella utente C:\Users\%MY_USERACCOUNT%\Documents\mysql-logs e, per impostazione predefinita, SERVIZIO DI RETE (o qualsiasi altro account utente non amministratore in Windows) non ha accesso alla cartella di un utente.

Ho risolto questo problema modificando le opzioni di sicurezza per la cartella di registro, concedendo i diritti di modifica di lettura/scrittura/modifica a SERVIZIO DI RETE.

0

Ho anche accedere alla tabella 'mysql.plugin' non esiste se installare MySQL Server 5.1 da 'msiexec.exe' DataDir ho messo come C: \ mysql \ MySQL_Server_5_1 \ data \

ma con mia grande sorpresa è stata creare i dati in un C: \ mysql \ MySQL_Server_5_1 \ Data \ dati

ci sono stato aggiungere parola dati. Quindi cambio di file my.ini da

datadir="C:/MySQL/MySQL_Server_5_1/Data/" . 

al

datadir="C:/MySQL/MySQL_Server_5_1/Data/data" 

e poi posso usare net start MYSQL51 e poi corsa mysqld.exe e apparire in un Task Manager

0

quando guardato mysql log (file .err nella cartella dati), ho potuto vedere il seguente

21:41:47 UTC - mysqld ha ottenuto l'eccezione 0xc0000005; Questo potrebbe essere perché hai colpito un bug. È anche possibile che questo binario o una delle librerie a cui è stato collegato sia danneggiato, costruito in modo errato, o configurato in modo errato. Questo errore può anche essere causato da un malfunzionamento dell'hardware. Tentativo di raccogliere alcune informazioni che potrebbero aiutare a diagnosticare il problema. Poiché si tratta di un arresto anomalo e qualcosa è decisamente sbagliato, il processo di raccolta delle informazioni potrebbe non riuscire.

Mi sono reso conto che stavo iniziando il servizio mentre ho collegato usb. Per essere onesti, il problema è stato risolto dopo aver riavviato la mia macchina, seguito dal riavvio del servizio. Inoltre ho rimosso i file ib_logfile0 e ib_logfile1 prima del mio riavvio. Anche se il registratore di eventi indicato "InnoDB: Il database potrebbe essere danneggiato o si può aver copiato lo spazio tabella InnoDB ma non i file di log InnoDB Si prega di fare riferimento alle http://dev.mysql.com/doc/refman/5.7/en/forcing-innodb-recovery.html informazioni

Blockquote

di costringere il recupero. Per ulteriori informazioni, consultare Guida in linea e supporto tecnico al numero http://www.mysql.com ", non credo perché non ho mai cambiato nessuna configurazione.

0

sperimentato lo stesso errore, di seguito è la ragione e la soluzione che ha lavorato per me per mysql-5.7.14-winx64

ragione: cartella DATA di avere alcune cartelle e file di default che mancavano

soluzione: cancella tutto dalla cartella DATA, presumo che sia una nuova installazione quindi fai il backup di qualsiasi cosa tu abbia bisogno, se non del tutto. Quindi esegui questo dal prompt dei comandi e creerà i file e le cartelle richiesti "mysqld --initialize --console" ora esegui "mysqld" e dovrebbe funzionare bene.

0

Nel mio caso, ho avuto un'altra versione di MySQL installata e funzionante. Ho trovato questo andando nel file mysql_error.log. Ho risolto il problema andando ai servizi e interrompendo la versione MySQL in esecuzione e impostando un manuale e avviando il mysql necessario.

-1

Se si sta tentando di eseguire MySQL su un'installazione di Windows 10 con una partizione GPT, si prega di provare questo: sistemi

di oggi sono spesso in esecuzione su un disco che è formattato in GPT. Questo perché Windows 10 necessita di una partizione da installare. Il problema è che MySql non riesce a gestire questo stile di partizione e quindi si blocca. Ecco la mia soluzione:

  • Creare un disco virtuale: manual here
  • Format questo disco rigido virtuale con MBR
  • installare MySQL personalizzato sul vostro nuovo disco rigido virtuale (non dimenticate di creare un utente per DB)

Questo dovrebbe essere! :)

Riferimento Link: Issue with MySql installation on Windows 10

+0

Sebbene questo collegamento possa rispondere alla domanda, è meglio includere qui le parti essenziali della risposta e fornire il link per riferimento. Le risposte di solo collegamento possono diventare non valide se la pagina collegata cambia. - [Dalla recensione] (/ recensione/post di bassa qualità/14976498) – Shawn

+0

ok, fatto. Grazie! – Jan

0

Controlla anche se tutti i dirs che hai scritto nel my.ini esiste.

mio problema era che tmpdir doeesn`t esiste quindi MySQL demone cade con errore 1067.

[mysqld] 
port= 3306 
tmpdir = "C:/tmp" 

In questo caso esiste C:/tmp mosto.

3

Il mio problema si è verificato subito dopo un'interruzione di corrente. Ho ricevuto l'errore 1067 Il processo è terminato in modo imprevisto. MySQL, inutile dire che non è stato avviato. La risposta era semplice

  1. percorso aperto mysql \ data
  2. rimuovere (eliminare) sia ib_logfile0 e ib_logfile1.
  3. Avviare il servizio
0

... un vecchio ... comunque ho avuto lo stesso problema con MariaDB

Nel mio caso la maggior parte dei sentieri, contengono caratteri speciali come: # sentieri Wrapping nel mio. ini in doppi apici fatto il trucco - ad es

datadir="C:/#windata64/db/MariaDB/data" 
0

Nel mio caso, al fine di eliminare uno schema pesante dal server MySQL, appena andato in C: \ ProgramData \ MySQL \ MySQL Server 5.7 \ Data e cancellato cartella corrispondente. Ma non è stato eliminato perché mysqld.exe lo stava impedendo. così ho fermato mysqld.exe, cancellato la cartella e poi tutti gli schemi sono scomparsi dalla lista in mysql workbench. Non importa quanto ho provato a riavviare il servizio mysql, non ha funzionato a meno che non ho ripristinato quella cartella da junk. Spero che aiuti qualcuno che ha provato la stessa scorciatoia che avevo io.

Problemi correlati