2015-12-29 8 views
20

Ho installato il server della comunità MySQL 5.7.10 utilizzando zip binaria. Ho estratto lo zip in c:\mysql e creato la cartella dei dati in c:\mysql\data. Ho creato il file di configurazione come my.ini e lo ho inserito in c:\mysql (cartella principale di zip estratto). Di seguito è riportato il contenuto del file di my.iniImpossibile aprire e bloccare le tabelle dei privilegi: la tabella 'mysql.user' non esiste

# set basedir to your installation path 
basedir=C:\mysql 
# set datadir to the location of your data directory 
datadir=C:\mysql\data 

sto cercando di iniziare a utilizzare MySQL mysqld --console, ma il processo viene interrotto con l'errore di seguito.

2015-12-29T18:04:01.141930Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist 
2015-12-29T18:04:01.141930Z 0 [ERROR] Aborting 

Qualsiasi aiuto su questo sarà apprezzato.

+0

Penso che questo [SO post] (http://stackoverflow.com/questions/9083408/fatal-error-cant-open-and-lock-privilege-tables-table-mysql-host-doesnt- ex) potrebbe aiutare .. – vmachan

risposta

39

si deve inizializzare la directory dei dati eseguendo il comando seguente

mysqld --initialize [con password di root casuale]

mysqld --initialize-insecure [con password di root vuota]

+4

Tuttavia, questa non è un'opzione per MySQL ** 5.6 ** e sotto. Come gestiremo l'errore 'Impossibile aprire e bloccare le tabelle dei privilegi: la tabella 'mysql.user' non esiste ', quindi in tali versioni? Cosa * esattamente * sta causando questo problema e come può essere risolto senza l'installazione? – Pacerier

+2

Thread correlati: http://dba.stackexchange.com/q/115701/9405 e http://superuser.com/q/660078/78897 – Pacerier

2

mysqld --initialize per inizializzare la directory dei dati allora mysqld &

Se hai già avviato mysqld & senza mysqld --initialize potresti dover cancellare tutti i file nella tua directory dati

Puoi anche modificare /etc/my.cnf per aggiungere un percorso personalizzato alla tua directory di dati come questo:

[mysqld] 
... 
datadir=/path/to/directory 
Problemi correlati