it-swarm.com.de

MySQL kann unter Arch Linux nicht gestartet werden. Schwerwiegender Fehler: Berechtigungstabellen können nicht geöffnet und gesperrt werden: Die Tabelle 'mysql.user' ist nicht vorhanden

MySQL kann unter Arch Linux nicht gestartet werden.

mysqld[3440]: [Note] /usr/bin/mysqld (mysqld 10.1.22-MariaDB) starting as process 3440 ...
mysqld[3440]: [Note] InnoDB: Using mutexes to ref count buffer pool pages
mysqld[3440]: [Note] InnoDB: The InnoDB memory heap is disabled
mysqld[3440]: [Note] InnoDB: Mutexes and rw_locks use GCC atomic builtins
mysqld[3440]: [Note] InnoDB: GCC builtin __atomic_thread_fence() is used for memory barrier
mysqld[3440]: [Note] InnoDB: Compressed tables use zlib 1.2.11
mysqld[3440]: [Note] InnoDB: Using Linux native AIO
mysqld[3440]: [Note] InnoDB: Using SSE crc32 instructions
mysqld[3440]: [Note] InnoDB: Initializing buffer pool, size = 128.0M
mysqld[3440]: [Note] InnoDB: Completed initialization of buffer pool
mysqld[3440]: [Note] InnoDB: Highest supported file format is Barracuda.
mysqld[3440]: [Note] InnoDB: The log sequence numbers 0 and 0 in ibdata files do not match the log sequence number 1600719 in the ib_logfiles!
mysqld[3440]: [Note] InnoDB: Restoring possible half-written data pages from the doublewrite buffer...
mysqld[3440]: [Note] InnoDB: 128 rollback segment(s) are active.
mysqld[3440]: [Note] InnoDB: Waiting for purge to start
mysqld[3440]: [Note] InnoDB:  Percona XtraDB (http://www.percona.com) 5.6.35-80.0 started; log sequence number 1600719
mysqld[3440]: [Note] InnoDB: Dumping buffer pool(s) not yet started
mysqld[3440]: [Note] Plugin 'FEEDBACK' is disabled.
mysqld[3440]: [ERROR] Could not open mysql.plugin table. Some plugins may be not loaded
mysqld[3440]: [Note] Recovering after a crash using mysql-bin
mysqld[3440]: [Note] Starting crash recovery...
mysqld[3440]: [Note] Crash recovery finished.
mysqld[3440]: [Warning] Failed to load slave replication state from table mysql.gtid_slave_pos: 1146: Table 'mysql.gtid_slave_pos' doesn't exist
mysqld[3440]: [ERROR] Can't open and lock privilege tables: Table 'mysql.servers' doesn't exist
mysqld[3440]: [Note] Server socket created on IP: '::'.
mysqld[3440]: [ERROR] Fatal error: Can't open and lock privilege tables: Table 'mysql.user' doesn't exist

Ich habe die Pakete neu installiert, habe aber immer noch die gleichen Probleme.

3
nelaaro

Das Arch Wiki hat mir geholfen, das ziemlich schnell zu lösen.

Installieren Sie mariadb und führen Sie anschließend den folgenden Befehl aus, bevor Sie mariadb.service starten:

mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
mysql_secure_installation

Arch hält bei solchen Dingen nicht die Hand. Ich denke, wenn Sie mysql/mariadb von der Quelle installieren, wird dies erwartet.

Diese Antwort half mir auch herauszufinden, wonach ich suchte. https://stackoverflow.com/a/22179751/61976

11
nelaaro

Ich war mit einem ähnlichen Problem konfrontiert und habe es durch die folgenden Schritte behoben:

  • Deinstallierte den MySQL-Server.
  • Datenverzeichnis, Protokollverzeichnis und Konfigurationsdateien entfernt.
  • Hat den gesamten laufenden mysqld-Prozess beendet.
  • Neues MySQL-Paket aus dem Repository installiert.
  • Starten Sie den Dienst

Das hat bei mir funktioniert. Ich hoffe, dies wird dir helfen.

2
Rathish