Saya mencoba menginstal / memperbarui paket dan setiap kali proses gagal karena kesalahan server 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)
Saya memang membersihkan dan menginstal ulang mysql-server, saya bahkan mengatur kata sandi ke nol tanpa kedaluwarsa untuk debian-sys-Maint (itu pada komputer dev sehingga tidak ada data sensitif) tetapi masalah masih ada.
Saya tidak tahu bagaimana menyelesaikannya dan itu sangat mengganggu karena sekarang saya bahkan tidak dapat memperbarui sistem saya karena proses ini terlibat setiap waktu.
Terima kasih atas bantuannya!
Jawaban:
Saya berhasil memperbaiki ini tanpa harus membersihkan semuanya. Tampaknya masalahnya adalah bahwa database skema sys tidak pernah dibuat, jadi inilah solusinya:
cd
ke folder yang dikloning.mysql -u root -p < ./sys_57.sql
(atausys_56.sql
, tergantung versi Anda)Saya kira ini mungkin, seperti kata @skerit, skrip upgrade yang ditingkatkan.
sumber
last_update
kolom dimysql.innodb_index_stats
tabel internal . Saya tidak tahu apakah itu kesalahan paket, MySQL atau orang lain, tetapi rekomendasi saya setelah pengalaman saya dengan MySQL sejak 16,04 adalah bahwa Anda bermigrasi ke MariaDB sesegera mungkin. Seperti, besok jika memungkinkan.Seseorang mengacaukan skrip upgrade, dan dalam rilis LTS tidak kurang.
Masalah utama terletak pada peningkatan skema sistem. Jika Anda tidak ingin menghapus semua data Anda, Anda dapat memaksa pembaruan seperti ini:
Ini adalah solusi yang kotor, tentu saja, karena skema sistem sekarang tidak seperti yang seharusnya, tetapi setidaknya Anda dapat terus menggunakan mysql.
sumber
Saya hanya menghapus
/var/lib/mysql/sys
dir dan kemudian menjalankan perintah ini:Semuanya baik-baik saja.
sumber
Saya akhirnya menghapus semua komponen mysql (mysql-server, mysql-server-5.7, mysql-server-core-5.7) dan data (/ var / lib / mysql, / etc / mysql) dan melakukan instalasi baru.
Semuanya berfungsi dengan baik sekarang.
Saya pikir db internal mysql entah bagaimana rusak atau dengan data yang hilang selama migrasi dari 5,6 ke 5,7 (dari log perubahan, kata sandi kolom dari tabel pengguna telah dihapus untuk yang baru)
Semoga ini bisa membantu
sumber