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 '18

Answers:


8

我设法解决了这个问题,而不必清除所有内容。似乎问题在于从未创建sys模式数据库,因此这是解决方案:

  • 克隆https://github.com/mysql/mysql-syscd进入克隆的文件夹。
  • 在终端中运行mysql -u root -p < ./sys_57.sql(或sys_56.sql,具体取决于您的版本)
  • 再次享受mysql_upgrade的工作。

我想这可能是@skerit所说的,是一个升级脚本混乱。


这可行,但是我必须登录到mysql并使用source命令运行sql文件。
cnizzardini

因此,使用Ubuntu 17.04再次发生在我身上。这次显然last_update是内部mysql.innodb_index_stats表中列的类型不匹配。我不知道这是打包程序,MySQL还是其他人的错,但是自从16.04起使用MySQL以来,我的建议是尽快迁移到MariaDB。喜欢,如果可能的话,明天。
Marc'7

我在使用MariaDb以及与MySQL基本相同时遇到了问题。我正在做的大多数新工作都在PostgreSQL中。
cnizzardini

这在Ubuntu 17.10中仍在发生。。。我升级Ubuntu的唯一原因是摆脱了这种烦恼.... FFS UBUNTU!
BlackDivine '18

4

有人弄乱了升级脚本,在LTS版本中也不少。

主要问题在于系统架构的升级。如果您不想删除所有数据,则可以这样强制更新:

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

当然,这是一个肮脏的解决方法,因为系统架构现在不应该如此,但是至少您可以继续使用mysql。


1
是的,MySQL上的白痴搞砸了
Stevie G


-2

最后,我删除了所有mysql组件(mysql-server,mysql-server-5.7,mysql-server-core-5.7)和数据(/ var / lib / mysql,/ etc / mysql),然后重新安装。

现在一切正常。

我认为mysql内部数据库在从5.6到5.7的迁移过程中以某种方式损坏或丢失了数据(从更改日志中,用户表中的列密码已被删除,这是新的)

希望对你有帮助


我建议编辑此答案以将其扩展为有关如何执行此操作的特定详细信息。(另请参阅“我如何编写一个好的答案?”,以获取有关在AskUbuntu上认为最有价值的答案的一般建议。)
David Foerster
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.