우분투 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

그래서 우분투 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.