Ubuntu 16.04:mysql-server-5.7の問題が原因で適応できない


9

パッケージをインストール/更新しようとしていますが、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)

私はmysql-serverを削除して再インストールしました。debian-sys-maintの有効期限なしにパスワードをnullに設定しました(開発用コンピューター上にあるため機密データはありません)が、問題はまだ残っています。

私はそれを解決する方法がわからず、このプロセスは毎回関与しているため、システムを更新することさえできないので、それは非常に迷惑です。

助けてくれてありがとう!



@RaelGugelminCunha:疑わしい。この質問で受け入れられた回答は、リンクされた質問の回答とはかなり異なります。
David Foerster

回答:


8

すべてを削除する必要なく、なんとかこれを修正できました。問題はsysスキーマデータベースが作成されなかったことにあると思われるため、解決策は次のとおりです。

  • クローンhttps://github.com/mysql/mysql-sysおよびcdクローン化されたフォルダに。
  • ターミナルで実行しますmysql -u root -p < ./sys_57.sql(またはsys_56.sql、バージョンによっては)
  • mysql_upgradeが再び機能することを楽しんでください。

@skeritが言ったように、これはおそらくアップグレードスクリプトの混乱でした。


これは機能しましたが、mysqlにログインし、sourceコマンドを使用してsqlファイルを実行する必要がありました。
cnizzardini 2016

それで、Ubuntu 17.04を使用して、これは私に再び起こりました。今回は明らかlast_updateに、内部mysql.innodb_index_statsテーブルの列の型の不一致です。それがパッケージャー、MySQL、または他の誰かのせいかどうかはわかりませんが、MySQLの16.04以降の経験から、できるだけ早くMariaDBに移行することをお勧めします。明日はできれば明日。
2017

MariaDbと基本的にはMySQLと同じ問題がありました。私がやっていることのほとんどはPostgreSQLです。
cnizzardini 2017

これは、Ubuntu 17.10でもまだ発生しています...この煩わしさを解消するために、私は唯一の理由でUbuntuをアップグレードしました。...FFS UBUNTU!
BlackDivine 2018年

4

誰かがアップグレードスクリプトをめちゃくちゃにして、LTSリリースでもそうです。

主な問題は、システムスキーマのアップグレードにあります。すべてのデータを削除したくない場合は、次のように強制的に更新できます。

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

もちろん、これはシステムスキーマが本来あるべきものではないため、これはダーティな回避策ですが、少なくともmysqlを使用し続けることができます。


1
うん、mysqlのバカが台無しに
Stevie G

0

/var/lib/mysql/sysdir だけを削除してから、次のコマンドを実行しました。

mysql_update -u root -p

すべてうまくいきました。


-2

最後に、すべてのmysqlコンポーネント(mysql-server、mysql-server-5.7、mysql-server-core-5.7)とデータ(/ var / lib / mysql、/ etc / mysql)を削除し、それを新規インストールします。

すべてが正常に動作します。

5.6から5.7への移行中にmysqlの内部dbが何らかの理由で破損しているか、データが欠落していると思います(変更ログから、ユーザーテーブルの列パスワードが新しいものから削除されました)

それが役に立てば幸い


この回答を編集して、これを行う方法に関する特定の詳細で展開することをお勧めします。(AskUbuntuでどのような答えが最も価値があると考えられるについての一般的なアドバイスについては、どのようにして良い答えを書けますか?も参照してください。)
David Foerster
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.