Ubuntu 16.04: impossibile a causa del problema mysql-server-5.7


9

Sto cercando di installare / aggiornare i pacchetti e ogni volta che il processo non riesce a causa di un errore 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)

Ho cancellato e reinstallato mysql-server, ho anche impostato la password su null senza scadenza per debian-sys-maint (è su un computer di sviluppo quindi nessun dato sensibile) ma il problema persiste.

Non so come risolverlo ed è molto seccante dal momento che non riesco nemmeno ad aggiornare il mio sistema perché questo processo è coinvolto ogni volta.

Grazie per il tuo aiuto !



@RaelGugelminCunha: ne dubito. La risposta accettata su questa domanda è molto diversa dalle risposte alla tua domanda collegata.
David Foerster,

Risposte:


8

Sono riuscito a risolvere questo problema senza dover eliminare tutto. Sembra che il problema sia che il database dello schema sys non è mai stato creato, quindi ecco la soluzione:

  • Clona https://github.com/mysql/mysql-sys e cdnella cartella clonata.
  • In un terminale, esegui mysql -u root -p < ./sys_57.sql(o sys_56.sql, a seconda della versione)
  • Divertiti a lavorare di nuovo con mysql_upgrade.

Immagino che questo sia stato, come ha detto @skerit, uno script di aggiornamento incasinato.


Questo ha funzionato ma ho dovuto accedere a mysql ed eseguire il file sql usando il comando source.
cnizzardini,

Quindi, questo è successo di nuovo a me, usando Ubuntu 17.04. Questa volta apparentemente è una mancata corrispondenza del tipo della last_updatecolonna nella mysql.innodb_index_statstabella interna . Non so se sia colpa del packager, di MySQL o di qualcun altro, ma la mia raccomandazione dopo la mia esperienza con MySQL dal 16.04 è di migrare su MariaDB il prima possibile. Tipo, domani se possibile.
Marc

Ho avuto problemi con MariaDb e sostanzialmente è lo stesso di MySQL. La maggior parte delle cose nuove che sto facendo è in PostgreSQL.
cnizzardini,

Questo sta ancora accadendo in Ubuntu 17.10 ... Ho aggiornato Ubuntu per il solo motivo di sbarazzarmi di questo fastidio .... FFS UBUNTU!
BlackDivine,

4

Qualcuno ha incasinato gli script di aggiornamento e non meno in una versione LTS.

Il problema principale risiede nell'aggiornamento dello schema di sistema. Se non vuoi eliminare tutti i tuoi dati, puoi forzare l'aggiornamento in questo modo:

mysql_upgrade -uroot -p --verbose --skip-sys-schema

Questa è una soluzione sporca, ovviamente, poiché lo schema di sistema non è più quello che dovrebbe essere, ma almeno puoi continuare a usare mysql.


1
Sì, gli idioti di MySQL hanno fatto un casino
Stevie G,

0

Ho rimosso solo /var/lib/mysql/sysdir e quindi ho eseguito questo comando:

mysql_update -u root -p

Tutto è andato bene.


-2

Alla fine rimuovo tutti i componenti mysql (mysql-server, mysql-server-5.7, mysql-server-core-5.7) e i dati (/ var / lib / mysql, / etc / mysql) e ne eseguo una nuova installazione.

Ora tutto funziona bene.

Penso che i dbs interni mysql siano stati in qualche modo corrotti o con dati mancanti durante la migrazione da 5.6 a 5.7 (dal registro delle modifiche, la password della colonna dalla tabella utente è stata eliminata per una nuova)

spero che possa aiutare


Raccomando di modificare questa risposta per espanderla con dettagli specifici su come eseguire questa operazione. (Vedi anche Come posso scrivere una buona risposta? Per consigli generali su quali tipi di risposte sono considerate più preziose su AskUbuntu.)
David Foerster,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.