Ubuntu 16.04: không thể apt do sự cố mysql-server-5.7


9

Tôi đang cố gắng cài đặt / cập nhật các gói và mỗi khi quá trình không thành công do lỗi máy chủ 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)

Tôi đã lọc và cài đặt lại máy chủ mysql, tôi thậm chí còn đặt mật khẩu thành null mà không hết hạn cho debian-sys-duy trì (nó trên máy tính dev nên không có dữ liệu nhạy cảm) nhưng vấn đề vẫn còn.

Tôi không biết làm thế nào để giải quyết nó và thật khó chịu vì bây giờ tôi thậm chí không thể cập nhật hệ thống của mình vì quá trình này được tham gia mọi lúc.

Cảm ơn sự giúp đỡ của bạn!



@RaelGugelminCunha: Tôi nghi ngờ điều đó. Câu trả lời được chấp nhận cho câu hỏi này khá khác so với câu trả lời cho câu hỏi được liên kết của bạn.
David Foerster

Câu trả lời:


8

Tôi quản lý để sửa lỗi này mà không phải thanh lọc mọi thứ. Có vẻ như vấn đề là cơ sở dữ liệu lược đồ sys chưa bao giờ được tạo, vì vậy đây là giải pháp:

  • Nhân bản https://github.com/mysql/mysql-syscdvào thư mục nhân bản.
  • Trong một thiết bị đầu cuối, chạy mysql -u root -p < ./sys_57.sql(hoặc sys_56.sql, tùy thuộc vào phiên bản của bạn)
  • Thưởng thức mysql_upTHER làm việc lại.

Tôi đoán điều này có lẽ là, như @skerit đã nói, một kịch bản nâng cấp gây rối.


Điều này đã làm việc nhưng tôi đã phải đăng nhập vào mysql và chạy tệp sql bằng lệnh nguồn.
cnizzardini

Vì vậy, điều này đã xảy ra một lần nữa với tôi, sử dụng Ubuntu 17.04. Lần này rõ ràng là một kiểu không khớp của last_updatecột trong mysql.innodb_index_statsbảng bên trong . Tôi không biết đó là lỗi của người đóng gói, lỗi của MySQL hay của người khác, nhưng lời khuyên của tôi sau trải nghiệm của tôi với MySQL kể từ ngày 16.04 là bạn nên chuyển sang MariaDB ngay khi bạn có thể. Giống như, ngày mai nếu có thể.
Marc

Tôi đã có vấn đề với MariaDb cũng như về cơ bản giống như MySQL. Hầu hết những thứ mới mà tôi đang làm là trong PostgreSQL.
cnizzardini

Điều này vẫn đang xảy ra trong Ubuntu 17.10 ... Tôi đã nâng cấp Ubuntu vì lý do duy nhất để thoát khỏi sự phiền toái này .... FFS UBUNTU!
BlackDivine

4

Ai đó đã làm hỏng các kịch bản nâng cấp, và trong một bản phát hành LTS không hơn không kém.

Vấn đề chính nằm ở việc nâng cấp lược đồ hệ thống. Nếu bạn không muốn xóa tất cả dữ liệu của mình, bạn có thể buộc cập nhật như sau:

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

Tất nhiên, đây là một cách giải quyết bẩn thỉu, vì lược đồ hệ thống bây giờ không phải là cái mà nó được cho là, nhưng ít nhất bạn có thể tiếp tục sử dụng mysql.


1
Vâng, những kẻ ngốc tại mysql đã gặp rắc rối
Stevie G

0

Tôi chỉ xóa /var/lib/mysql/sysdir và sau đó chạy lệnh này:

mysql_update -u root -p

Tất cả đều ổn


-2

Cuối cùng tôi đã gỡ bỏ mọi thứ thành phần mysql (mysql-server, mysql-server-5.7, mysql-server-core-5.7) và dữ liệu (/ var / lib / mysql, / etc / mysql) và thực hiện cài đặt mới.

Mọi thứ hoạt động tốt bây giờ.

Tôi nghĩ rằng các dbs nội bộ của mysql đã bị hỏng theo cách nào đó hoặc bị mất dữ liệu trong quá trình di chuyển từ 5.6 đến 5.7 (từ nhật ký thay đổi, mật khẩu cột từ bảng người dùng đã bị xóa cho một cái mới)

hy vọng nó sẽ giúp


Tôi khuyên bạn nên chỉnh sửa câu trả lời này để mở rộng nó với các chi tiết cụ thể về cách thực hiện. (Xem thêm Làm thế nào để tôi viết một câu trả lời hay? Để có lời khuyên chung về loại câu trả lời nào được coi là có giá trị nhất trên AskUbfox.)
David Foerster
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.