Berechtigungstabellen können nicht geöffnet und gesperrt werden: Tabelle 'mysql.user' existiert nicht - Es wird versucht, die zweite Instanz von myslq auszuführen

7

Auf einer Win7-Box.

Ich habe mysql-5.7.9 heruntergeladen und versucht, es als eigenständige Instanz zusammen mit einer anderen Instanz einer alten Version auszuführen, die bereits ausgeführt wird.

Ich habe mit diesem Befehl einen neuen Dienst installiert:

"C:\mysql-5.7.9\bin\mysqld.exe" --install mysql579 --defaults-file="C:\mysql-5.7.9\bin\my.cnf"

Hier ist die my.cnf:

[client] 
port            = 3307 
socket          = mysql579

[mysqld] 
basedir="C:/mysql-5.7.9"
tmpdir="C:/mysql-5.7.9/tmp" 
datadir="C:/mysql-5.7.9/data" 

port            = 3307 
socket          = mysql579

character-set-server = latin1
collation-server = latin1_general_ci

server-id   = 2

[WinMySQLadmin] 
Server="C:/mysql-5.7.9/bin/mysqld.exe"

Ich bin mir nicht sicher, ob dies der richtige Befehl zur Fehlerbehebung ist, da ich nicht glaube, dass er meine Optionsdatei verwendet, aber dies wird beim Ausführen angezeigt C:\mysql-5.7.9\bin>mysqld.exe --defaults-file="C:\mysql-5.7.9\bin\my.cnf" --standalone --console

2015-12-16T20:59:53.098442Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server optio
n (see documentation for more details).
2015-12-16T20:59:53.098442Z 0 [Warning] Insecure configuration for --secure-file-priv: Current value does not restrict location of generated files. Co
nsider setting it to a valid, non-empty path.
2015-12-16T20:59:53.098442Z 0 [Note] mysqld.exe (mysqld 5.7.9) starting as process 68544 ...
2015-12-16T20:59:53.114042Z 0 [Note] InnoDB: Mutexes and rw_locks use Windows interlocked functions
2015-12-16T20:59:53.114042Z 0 [Note] InnoDB: Uses event mutexes
2015-12-16T20:59:53.114042Z 0 [Note] InnoDB: Memory barrier is not used
2015-12-16T20:59:53.114042Z 0 [Note] InnoDB: Compressed tables use zlib 1.2.3
2015-12-16T20:59:53.114042Z 0 [Note] InnoDB: Number of pools: 1
2015-12-16T20:59:53.114042Z 0 [Note] InnoDB: Not using CPU crc32 instructions
2015-12-16T20:59:53.145242Z 0 [Note] InnoDB: Initializing buffer pool, total size = 128M, instances = 1, chunk size = 128M
2015-12-16T20:59:53.160842Z 0 [Note] InnoDB: Completed initialization of buffer pool
2015-12-16T20:59:53.238843Z 0 [Note] InnoDB: Highest supported file format is Barracuda.
2015-12-16T20:59:53.441644Z 0 [Note] InnoDB: Creating shared tablespace for temporary tables
2015-12-16T20:59:53.441644Z 0 [Note] InnoDB: Setting file '.\ibtmp1' size to 12 MB. Physically writing the file full; Please wait ...
2015-12-16T20:59:53.628845Z 0 [Note] InnoDB: File '.\ibtmp1' size is now 12 MB.
2015-12-16T20:59:53.628845Z 0 [Note] InnoDB: 96 redo rollback segment(s) found. 96 redo rollback segment(s) are active.
2015-12-16T20:59:53.628845Z 0 [Note] InnoDB: 32 non-redo rollback segment(s) are active.
2015-12-16T20:59:53.628845Z 0 [Note] InnoDB: 5.7.9 started; log sequence number 1210148
2015-12-16T20:59:53.628845Z 0 [Note] InnoDB: Loading buffer pool(s) from C:\mysql-5.7.9\data\ib_buffer_pool
2015-12-16T20:59:53.628845Z 0 [Note] Plugin 'FEDERATED' is disabled.
2015-12-16T20:59:53.628845Z 0 [Note] InnoDB: not started
mysqld: Table 'mysql.plugin' doesn't exist
2015-12-16T20:59:53.628845Z 0 [ERROR] Can't open the mysql.plugin table. Please run mysql_upgrade to create it.
2015-12-16T20:59:53.628845Z 0 [Note] InnoDB: Buffer pool(s) load completed at 151216 15:59:53
2015-12-16T20:59:53.628845Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
2015-12-16T20:59:53.628845Z 0 [Warning] Failed to set up SSL because of the following SSL library error: SSL context is not usable without certificate
 and private key
2015-12-16T20:59:53.628845Z 0 [Note] Server hostname (bind-address): '*'; port: 3307
2015-12-16T20:59:53.644445Z 0 [Note] IPv6 is available.
2015-12-16T20:59:53.644445Z 0 [Note]   - '::' resolves to '::';
2015-12-16T20:59:53.644445Z 0 [Note] Server socket created on IP: '::'.
2015-12-16T20:59:53.644445Z 0 [Warning] Failed to open optimizer cost constant tables

2015-12-16T20:59:53.644445Z 0 [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist
2015-12-16T20:59:53.644445Z 0 [ERROR] Aborting

2015-12-16T20:59:53.644445Z 0 [Note] Binlog end
2015-12-16T20:59:53.644445Z 0 [Note] Shutting down plugin 'ngram'
...
red888
quelle

Antworten:

13

Ich hatte heute Abend das gleiche Problem beim Einrichten eines neuen MySQL-Servers. Ich wusste nicht, dass MySQL seit 5.7.7 keine Anfangsdaten mehr liefert (vergleiche MySQL 5.7 Referenz - 2.3.5.4 Initialisierung des Datenverzeichnisses ). Da Sie denselben Fehler erhalten, haben Sie vermutlich keine vorhandenen Daten (vorinitialisierte Konten). Versuchen Sie also, diese auszuführen

mysqld --initialize --console
Norman Rothe
quelle
Was sind die Lösungen für MySQL 5.6 und niedriger?
Pacerier
Wenn ich das versuche, bekomme ich[ERROR] --initialize specified but the data directory has files in it. Aborting.
crmpicco
@crmpicco: Sie müssen mysqld zuerst ohne "--initialize" ausgeführt haben und dort wurden Dateien erstellt. Benennen Sie diesen Ordner in data.old um und führen Sie den in der akzeptierten Antwort vorgeschlagenen Befehl erneut aus.
Vijay Gill