우분투 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-syscd복제 된 폴더에.
  • 터미널에서 mysql -u root -p < ./sys_57.sql(또는 sys_56.sql버전에 따라)를 실행 하십시오.
  • mysql_upgrade가 다시 작동하는 것을 즐기십시오.

@skerit이 말했듯이 업그레이드 스크립트가 엉망이었던 것 같습니다.


이것은 효과가 있었지만 mysql에 로그인하고 source 명령을 사용하여 sql 파일을 실행해야했습니다.
cnizzardini

그래서 우분투 17.04를 사용하여 다시 나에게 일어났습니다. 이번에는 분명히 last_update내부 mysql.innodb_index_stats테이블 의 열 유형이 일치하지 않습니다 . 패키지 러, MySQL 또는 다른 사람의 잘못인지 모르겠지만 16.04 이후 MySQL에 대한 경험을 쌓은 후 권장 사항은 최대한 빨리 MariaDB로 마이그레이션하는 것입니다. 가능하면 내일처럼
Marc

MariaDb와 MySQL과 기본적으로 동일한 문제가있었습니다. 내가하고있는 가장 새로운 일은 PostgreSQL에 있습니다.
cnizzardini

이것은 우분투 17.10에서 여전히 일어나고 있습니다 ... 나는이 성가심을 없애기 위해 우분투를 업그레이드했습니다 .... FFS UBUNTU!
BlackDivine

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.