Estou tentando instalar / atualizar pacotes e sempre que o processo falha devido a um erro do servidor mysql:
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)
Eu limpei e reinstalei o mysql-server, até defini a senha como nula sem vencimento para o debian-sys-maint (está em um computador dev, portanto, não há dados confidenciais), mas o problema ainda permanece.
Não sei como resolvê-lo e é muito chato, já que agora nem consigo atualizar meu sistema porque esse processo está sempre envolvido.
Obrigado pela ajuda!
Respostas:
Consegui consertar isso sem precisar limpar tudo. Parece que o problema é que o banco de dados esquema sys nunca foi criado, então aqui está a solução:
cd
na pasta clonada.mysql -u root -p < ./sys_57.sql
(ousys_56.sql
, dependendo da sua versão)Eu acho que isso provavelmente foi, como o @skerit disse, uma bagunça nos scripts de atualização.
fonte
last_update
coluna namysql.innodb_index_stats
tabela interna . Não sei se é culpa do empacotador, do MySQL ou de outra pessoa, mas minha recomendação após minha experiência com o MySQL desde 16.04 é que você migre para o MariaDB o mais rápido possível. Tipo, amanhã, se possível.Alguém estragou os scripts de atualização e, em uma versão LTS, nada menos.
O principal problema está na atualização do esquema do sistema. Se você não deseja excluir todos os seus dados, pode forçar a atualização assim:
Esta é uma solução alternativa suja, é claro, já que o esquema do sistema não é mais o que deveria ser, mas pelo menos você pode continuar usando o mysql.
fonte
Eu removi apenas
/var/lib/mysql/sys
dir e executei este comando:Tudo correu bem.
fonte
Eu finalmente removi tudo os componentes do mysql (mysql-server, mysql-server-5.7, mysql-server-core-5.7) e dados (/ var / lib / mysql, / etc / mysql) e faço uma nova instalação.
Tudo funciona bem agora.
Eu acho que os dbs internos do mysql estavam de alguma forma corrompidos ou com dados ausentes durante a migração de 5.6 para 5.7 (do log de alterações, a senha da coluna da tabela do usuário foi excluída para uma nova)
espero que ajude
fonte