web-dev-qa-db-fra.com

MySQL - mysql_upgrade - Une erreur s'est produite: impossible de configurer les variables du serveur

J'exécute MySQL 5.7.11 à l'intérieur de l'image docker officielle.

Lorsque je souhaite mettre à niveau, j'obtiens l'erreur suivante:

mysql_upgrade -uroot -p
password:
Error occurred: Cannot setup server variables.

J'ai cherché autour, je n'ai trouvé aucun indice. J'ai essayé de courir avec --verbose, mais pas de chance.

Pour référence, voici les journaux lorsque je démarre la base de données:

db_1  | 2016-02-17T11:23:10.453190Z 0 [ERROR] Incorrect definition of table performance_schema.events_waits_current: expected column 'NESTING_EVENT_TYPE' at position 15 to have type enum('TRANSACTION','STATEMENT','STAGE','WAIT', found type enum('STATEMENT','STAGE','WAIT').
db_1  | 2016-02-17T11:23:10.453233Z 0 [ERROR] Incorrect definition of table performance_schema.events_waits_history: expected column 'NESTING_EVENT_TYPE' at position 15 to have type enum('TRANSACTION','STATEMENT','STAGE','WAIT', found type enum('STATEMENT','STAGE','WAIT').
db_1  | 2016-02-17T11:23:10.453275Z 0 [ERROR] Incorrect definition of table performance_schema.events_waits_history_long: expected column 'NESTING_EVENT_TYPE' at position 15 to have type enum('TRANSACTION','STATEMENT','STAGE','WAIT', found type enum('STATEMENT','STAGE','WAIT').
db_1  | 2016-02-17T11:23:10.453411Z 0 [ERROR] Incorrect definition of table performance_schema.events_waits_summary_by_user_by_event_name: expected column 'USER' at position 0 to have type char(32), found type char(16).
db_1  | 2016-02-17T11:23:10.453451Z 0 [ERROR] Incorrect definition of table performance_schema.events_waits_summary_by_account_by_event_name: expected column 'USER' at position 0 to have type char(32), found type char(16).
db_1  | 2016-02-17T11:23:10.453799Z 0 [ERROR] Column count of performance_schema.setup_actors is wrong. Expected 5, found 3. Created with MySQL 50626, now running 50711. Please use mysql_upgrade to fix this error.
db_1  | 2016-02-17T11:23:10.453902Z 0 [ERROR] Incorrect definition of table performance_schema.setup_objects: expected column 'OBJECT_TYPE' at position 0 to have type enum('EVENT','FUNCTION','PROCEDURE','TABLE','TRIGGER', found type enum('TABLE').
db_1  | 2016-02-17T11:23:10.454171Z 0 [ERROR] Column count of performance_schema.table_lock_waits_summary_by_table is wrong. Expected 68, found 73. Created with MySQL 50626, now running 50711. Please use mysql_upgrade to fix this error.
db_1  | 2016-02-17T11:23:10.454237Z 0 [ERROR] Column count of performance_schema.threads is wrong. Expected 17, found 14. Created with MySQL 50626, now running 50711. Please use mysql_upgrade to fix this error.
db_1  | 2016-02-17T11:23:10.454316Z 0 [ERROR] Column count of performance_schema.events_stages_current is wrong. Expected 12, found 10. Created with MySQL 50626, now running 50711. Please use mysql_upgrade to fix this error.
db_1  | 2016-02-17T11:23:10.454375Z 0 [ERROR] Column count of performance_schema.events_stages_history is wrong. Expected 12, found 10. Created with MySQL 50626, now running 50711. Please use mysql_upgrade to fix this error.
db_1  | 2016-02-17T11:23:10.454429Z 0 [ERROR] Column count of performance_schema.events_stages_history_long is wrong. Expected 12, found 10. Created with MySQL 50626, now running 50711. Please use mysql_upgrade to fix this error.
db_1  | 2016-02-17T11:23:10.454559Z 0 [ERROR] Incorrect definition of table performance_schema.events_stages_summary_by_account_by_event_name: expected column 'USER' at position 0 to have type char(32), found type char(16).
db_1  | 2016-02-17T11:23:10.454614Z 0 [ERROR] Incorrect definition of table performance_schema.events_stages_summary_by_user_by_event_name: expected column 'USER' at position 0 to have type char(32), found type char(16).
db_1  | 2016-02-17T11:23:10.454807Z 0 [ERROR] Column count of performance_schema.events_statements_current is wrong. Expected 41, found 40. Created with MySQL 50626, now running 50711. Please use mysql_upgrade to fix this error.
db_1  | 2016-02-17T11:23:10.454908Z 0 [ERROR] Column count of performance_schema.events_statements_history is wrong. Expected 41, found 40. Created with MySQL 50626, now running 50711. Please use mysql_upgrade to fix this error.
db_1  | 2016-02-17T11:23:10.454983Z 0 [ERROR] Column count of performance_schema.events_statements_history_long is wrong. Expected 41, found 40. Created with MySQL 50626, now running 50711. Please use mysql_upgrade to fix this error.
db_1  | 2016-02-17T11:23:10.455093Z 0 [ERROR] Incorrect definition of table performance_schema.events_statements_summary_by_account_by_event_name: expected column 'USER' at position 0 to have type char(32), found type char(16).
db_1  | 2016-02-17T11:23:10.455151Z 0 [ERROR] Incorrect definition of table performance_schema.events_statements_summary_by_user_by_event_name: expected column 'USER' at position 0 to have type char(32), found type char(16).
db_1  | 2016-02-17T11:23:10.455347Z 0 [ERROR] Native table 'performance_schema'.'events_statements_summary_by_program' has the wrong structure
db_1  | 2016-02-17T11:23:10.455367Z 0 [ERROR] Native table 'performance_schema'.'events_transactions_current' has the wrong structure
db_1  | 2016-02-17T11:23:10.455383Z 0 [ERROR] Native table 'performance_schema'.'events_transactions_history' has the wrong structure
db_1  | 2016-02-17T11:23:10.455400Z 0 [ERROR] Native table 'performance_schema'.'events_transactions_history_long' has the wrong structure
db_1  | 2016-02-17T11:23:10.455419Z 0 [ERROR] Native table 'performance_schema'.'events_transactions_summary_by_thread_by_event_name' has the wrong structure
db_1  | 2016-02-17T11:23:10.455437Z 0 [ERROR] Native table 'performance_schema'.'events_transactions_summary_by_account_by_event_name' has the wrong structure
db_1  | 2016-02-17T11:23:10.455456Z 0 [ERROR] Native table 'performance_schema'.'events_transactions_summary_by_user_by_event_name' has the wrong structure
db_1  | 2016-02-17T11:23:10.455474Z 0 [ERROR] Native table 'performance_schema'.'events_transactions_summary_by_Host_by_event_name' has the wrong structure
db_1  | 2016-02-17T11:23:10.455492Z 0 [ERROR] Native table 'performance_schema'.'events_transactions_summary_global_by_event_name' has the wrong structure
db_1  | 2016-02-17T11:23:10.455542Z 0 [ERROR] Incorrect definition of table performance_schema.users: expected column 'USER' at position 0 to have type char(32), found type char(16).
db_1  | 2016-02-17T11:23:10.455591Z 0 [ERROR] Incorrect definition of table performance_schema.accounts: expected column 'USER' at position 0 to have type char(32), found type char(16).
db_1  | 2016-02-17T11:23:10.455916Z 0 [ERROR] Native table 'performance_schema'.'memory_summary_global_by_event_name' has the wrong structure
db_1  | 2016-02-17T11:23:10.455952Z 0 [ERROR] Native table 'performance_schema'.'memory_summary_by_account_by_event_name' has the wrong structure
db_1  | 2016-02-17T11:23:10.455974Z 0 [ERROR] Native table 'performance_schema'.'memory_summary_by_Host_by_event_name' has the wrong structure
db_1  | 2016-02-17T11:23:10.455995Z 0 [ERROR] Native table 'performance_schema'.'memory_summary_by_thread_by_event_name' has the wrong structure
db_1  | 2016-02-17T11:23:10.456018Z 0 [ERROR] Native table 'performance_schema'.'memory_summary_by_user_by_event_name' has the wrong structure
db_1  | 2016-02-17T11:23:10.456046Z 0 [ERROR] Native table 'performance_schema'.'table_handles' has the wrong structure
db_1  | 2016-02-17T11:23:10.456075Z 0 [ERROR] Native table 'performance_schema'.'metadata_locks' has the wrong structure
db_1  | 2016-02-17T11:23:10.456095Z 0 [ERROR] Native table 'performance_schema'.'replication_connection_configuration' has the wrong structure
db_1  | 2016-02-17T11:23:10.456109Z 0 [ERROR] Native table 'performance_schema'.'replication_group_members' has the wrong structure
db_1  | 2016-02-17T11:23:10.456122Z 0 [ERROR] Native table 'performance_schema'.'replication_connection_status' has the wrong structure
db_1  | 2016-02-17T11:23:10.456136Z 0 [ERROR] Native table 'performance_schema'.'replication_applier_configuration' has the wrong structure
db_1  | 2016-02-17T11:23:10.456148Z 0 [ERROR] Native table 'performance_schema'.'replication_applier_status' has the wrong structure
db_1  | 2016-02-17T11:23:10.456163Z 0 [ERROR] Native table 'performance_schema'.'replication_applier_status_by_coordinator' has the wrong structure
db_1  | 2016-02-17T11:23:10.456176Z 0 [ERROR] Native table 'performance_schema'.'replication_applier_status_by_worker' has the wrong structure
db_1  | 2016-02-17T11:23:10.456190Z 0 [ERROR] Native table 'performance_schema'.'replication_group_member_stats' has the wrong structure
db_1  | 2016-02-17T11:23:10.456202Z 0 [ERROR] Native table 'performance_schema'.'prepared_statements_instances' has the wrong structure
db_1  | 2016-02-17T11:23:10.456217Z 0 [ERROR] Native table 'performance_schema'.'user_variables_by_thread' has the wrong structure
db_1  | 2016-02-17T11:23:10.456229Z 0 [ERROR] Native table 'performance_schema'.'status_by_account' has the wrong structure
db_1  | 2016-02-17T11:23:10.456244Z 0 [ERROR] Native table 'performance_schema'.'status_by_Host' has the wrong structure
db_1  | 2016-02-17T11:23:10.456261Z 0 [ERROR] Native table 'performance_schema'.'status_by_thread' has the wrong structure
db_1  | 2016-02-17T11:23:10.456274Z 0 [ERROR] Native table 'performance_schema'.'status_by_user' has the wrong structure
db_1  | 2016-02-17T11:23:10.456287Z 0 [ERROR] Native table 'performance_schema'.'global_status' has the wrong structure
db_1  | 2016-02-17T11:23:10.456299Z 0 [ERROR] Native table 'performance_schema'.'session_status' has the wrong structure
db_1  | 2016-02-17T11:23:10.456311Z 0 [ERROR] Native table 'performance_schema'.'variables_by_thread' has the wrong structure
db_1  | 2016-02-17T11:23:10.456325Z 0 [ERROR] Native table 'performance_schema'.'global_variables' has the wrong structure
db_1  | 2016-02-17T11:23:10.456339Z 0 [ERROR] Native table 'performance_schema'.'session_variables' has the wrong structure
db_1  | 2016-02-17T11:23:10.456385Z 0 [ERROR] Incorrect definition of table mysql.db: expected column 'User' at position 2 to have type char(32), found type char(16).
db_1  | 2016-02-17T11:23:10.456395Z 0 [ERROR] mysql.user has no `Event_priv` column at position 28
db_1  | 2016-02-17T11:23:10.456488Z 0 [ERROR] Event Scheduler: An error occurred when initializing system tables. Disabling the Event Scheduler.
db_1  | 2016-02-17T11:23:10.456574Z 0 [Note] mysqld: ready for connections.
db_1  | Version: '5.7.11'  socket: '/var/run/mysqld/mysqld.sock'  port: 3306  MySQL Community Server (GPL)
10
Pierre Ozoux

J'ai trouvé une solution de contournement!

Arrêtez votre db. Commencez ensuite avec:

mysqld --skip-grant-tables &

Et puis, j'ai enfin pu faire ma mise à jour:

mysql_upgrade
15
Pierre Ozoux

Sur le mien, je devais

mv /var/lib/mysql /var/lib/mysql.bak

copiez un nouveau dossier/var/lib/mysql contenant juste une base de données mysql de base. Il se trouve que j'en ai un stocké dans/var/lib/mysql-new

mv /var/lib/mysql-new /var/lib/mysql
service mysql restart

apt-get install -f

Il a parcouru et mis à niveau la base de données mysql et vous pouvez ensuite:

 mv /var/lib/mysql /var/lib/mysql-new
 mv /var/lib/mysql.bak /var/lib/mysql
 service mysql restart

A travaillé pour moi. J'ai essayé une tonne d'autres suggestions, notamment la purge, la suppression de tout et le recommencement, jouer avec l'apparmeur et ainsi de suite, mais c'était la seule façon qui fonctionnait pour moi.

0
Alan

Dans mon cas, même problème, résolu de cette façon:

$ mysql_upgrade db_username@db_Host -p
Enter password:
Checking if update is needed.
Checking server version.
Running queries to upgrade MySQL server.
Checking system database.
0
Hudson Santos

J'ai rencontré un problème similaire lors de la mise à niveau de 5.7.x vers 5.7.15 à l'aide de apt-get mais pas dans une image Docker, mais sur une instance de base d'Ubuntu 16.04 EC2.

J'ai réussi à passer en créant un .mylogin.cnf fichier pour mon compte utilisateur racine Linux, afin qu'il puisse se connecter sans fournir le nom d'utilisateur et le mot de passe, puis exécuter mysql_upgrade commande en étant connecté au compte root.

Cela a réussi à effectuer les mises à niveau de la table système requises, puis j'ai pu terminer le apt-get upgrade commande sans problème.

0
Dave Rix