Estoy tratando de instalar / actualizar paquetes y cada vez que el proceso falla debido a un error de mysql-server:
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)
Purgué y reinstalé mysql-server, incluso configuré la contraseña como nula sin caducidad para debian-sys-maint (está en una computadora de desarrollo, por lo que no hay datos confidenciales), pero el problema aún persiste.
No sé cómo resolverlo y es muy molesto ya que ahora ni siquiera puedo actualizar mi sistema porque este proceso siempre está involucrado.
Gracias por tu ayuda !
Respuestas:
Me las arreglé para arreglar esto sin tener que purgar todo. Parece que el problema es que la base de datos del esquema sys nunca se creó, así que aquí está la solución:
cd
en la carpeta clonada.mysql -u root -p < ./sys_57.sql
(osys_56.sql
, según su versión)Supongo que esto probablemente fue, como dijo @skerit, un desastre de actualización de scripts.
fuente
last_update
columna en lamysql.innodb_index_stats
tabla interna . No sé si es culpa del empaquetador, de MySQL o de otra persona, pero mi recomendación después de mi experiencia con MySQL desde 16.04 es que migre a MariaDB tan pronto como sea posible. Como mañana si es posible.Alguien estropeó los scripts de actualización, y en una versión LTS no menos.
El principal problema radica en la actualización del esquema del sistema. Si no desea eliminar todos sus datos, puede forzar la actualización de esta manera:
Esta es una solución sucia, por supuesto, ya que el esquema del sistema ahora no es lo que se supone que debe ser, pero al menos puede continuar usando mysql.
fuente
Eliminé solo
/var/lib/mysql/sys
dir y luego ejecuté este comando:Todo salió bien.
fuente
Finalmente elimino todo los componentes de mysql (mysql-server, mysql-server-5.7, mysql-server-core-5.7) y los datos (/ var / lib / mysql, / etc / mysql) y hago una nueva instalación.
Todo funciona bien ahora.
Creo que los dbs internos de mysql estaban dañados de alguna manera o faltaban datos durante la migración de 5.6 a 5.7 (desde el registro de cambios, la contraseña de la columna de la tabla de usuario se ha eliminado para una nueva)
espero que ayude
fuente