Ich versuche, Pakete zu installieren / zu aktualisieren, und jedes Mal, wenn der Prozess aufgrund eines MySQL-Server-Fehlers fehlschlägt:
sudo apt install graylog-server
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
graylog-server is already the newest version (2.0.3-1).
0 mis à jour, 0 nouvellement installés, 0 à enlever et 10 non mis à jour.
2 partiellement installés ou enlevés.
Après cette opération, 0 o d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer ? [O/n] o
Paramétrage de mysql-server-5.7 (5.7.12-0ubuntu1.1) ...
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
mysql_upgrade: (non fatal) [ERROR] 1545: Failed to open mysql.event
Checking system database.
mysql.column_stats OK
mysql.columns_priv OK
mysql.db OK
mysql.engine_cost OK
mysql.event OK
mysql.func OK
mysql.general_log OK
mysql.gtid_executed OK
mysql.gtid_slave_pos OK
mysql.help_category OK
mysql.help_keyword OK
mysql.help_relation OK
mysql.help_topic OK
mysql.host OK
mysql.index_stats OK
mysql.innodb_index_stats OK
mysql.innodb_table_stats OK
mysql.ndb_binlog_index OK
mysql.plugin OK
mysql.proc OK
mysql.procs_priv OK
mysql.proxies_priv OK
mysql.roles_mapping OK
mysql.server_cost OK
mysql.servers OK
mysql.slave_master_info OK
mysql.slave_relay_log_info OK
mysql.slave_worker_info OK
mysql.slow_log OK
mysql.table_stats OK
mysql.tables_priv OK
mysql.time_zone OK
mysql.time_zone_leap_second OK
mysql.time_zone_name OK
mysql.time_zone_transition OK
mysql.time_zone_transition_type OK
mysql.user OK
The sys schema is already up to date (version 1.5.0).
Found 0 sys functions, but expected 21. Re-installing the sys schema.
Upgrading the sys schema.
mysql_upgrade: [ERROR] 1136: Column count doesn't match value count at row 1
mysql_upgrade failed with exit status 5
dpkg: erreur de traitement du paquet mysql-server-5.7 (--configure) :
le sous-processus script post-installation installé a retourné une erreur de sortie d'état 1
Aucun rapport « apport » n'a été créé car le message d'erreur indique une erreur consécutive à un échec précédent.
dpkg: des problèmes de dépendances empêchent la configuration de mysql-server :
mysql-server dépend de mysql-server-5.7 ; cependant :
Le paquet mysql-server-5.7 n'est pas encore configuré.
dpkg: erreur de traitement du paquet mysql-server (--configure) :
problèmes de dépendances - laissé non configuré
Des erreurs ont été rencontrées pendant l'exécution :
mysql-server-5.7
mysql-server
E: Sub-process /usr/bin/dpkg returned an error code (1)
Ich habe mysql-server gelöscht und neu installiert. Ich habe sogar das Passwort für debian-sys-wart auf null gesetzt, ohne dass es abläuft (es befindet sich auf einem Entwicklungscomputer, also keine vertraulichen Daten), aber das Problem bleibt weiterhin bestehen.
Ich weiß nicht, wie ich es lösen soll, und es ist sehr ärgerlich, da ich mein System jetzt nicht einmal aktualisieren kann, da dieser Prozess jedes Mal involviert ist.
Danke für deine Hilfe !
Antworten:
Ich habe es geschafft, dies zu beheben, ohne alles löschen zu müssen. Es scheint, dass das Problem darin besteht, dass die Systemschemadatenbank nie erstellt wurde. Hier ist die Lösung:
cd
in den geklonten Ordner.mysql -u root -p < ./sys_57.sql
(odersys_56.sql
, abhängig von Ihrer Version)Ich denke, dies war wahrscheinlich, wie @skerit sagte, ein Durcheinander bei der Aktualisierung von Skripten.
quelle
last_update
Spalte in der internenmysql.innodb_index_stats
Tabelle. Ich weiß nicht, ob der Packager, MySQL oder jemand anderes schuld ist, aber meine Empfehlung nach meiner Erfahrung mit MySQL seit 16.04 ist, dass Sie so schnell wie möglich zu MariaDB migrieren. Wie morgen, wenn möglich.Jemand hat die Upgrade-Skripte durcheinander gebracht, und in einer LTS-Version nicht weniger.
Das Hauptproblem liegt in der Aktualisierung des Systemschemas. Wenn Sie nicht alle Ihre Daten löschen möchten, können Sie das Update folgendermaßen erzwingen:
Dies ist natürlich eine schmutzige Problemumgehung, da das Systemschema jetzt nicht mehr so ist, wie es sein soll, aber zumindest können Sie weiterhin MySQL verwenden.
quelle
Ich habe nur
/var/lib/mysql/sys
dir entfernt und dann diesen Befehl ausgeführt:Alles ging gut.
quelle
Ich entferne schließlich alle MySQL-Komponenten (MySQL-Server, MySQL-Server-5.7, MySQL-Server-Core-5.7) und Daten (/ var / lib / mysql, / etc / mysql) und installiere sie neu.
Alles funktioniert jetzt gut.
Ich denke, die internen MySQL-Datenbanken waren irgendwie beschädigt oder es fehlten Daten während der Migration von 5.6 auf 5.7 (aus dem Änderungsprotokoll wurde das Spaltenkennwort aus der Benutzertabelle für eine neue gelöscht).
hoffe es wird helfen
quelle