Notre serveur mysql de production vient de planter et ne reviendra pas. Cela donne une erreur de segfault. J'ai essayé un redémarrage et je ne sais pas quoi d'autre à essayer. Voici le stacktrace:
140502 14:13:05 [Note] Le plugin 'FEDERATED' est désactivé. InnoDB: l'analyse des journaux a progressé au-delà du point de contrôle lsn 108 1057948207 140502 14:13:06 InnoDB: La base de données n'a pas été fermée normalement! InnoDB: démarrage de la récupération après incident. InnoDB: lecture des informations sur l'espace disque logique à partir des fichiers .ibd ... InnoDB: Restauration des éventuelles pages de données semi-écrites à partir de la double écriture InnoDB: tampon ... InnoDB: Faire la récupération: numérisé jusqu'au numéro de séquence du journal 108 1058059648 InnoDB: 1 transaction (s) qui doit être annulée ou nettoyée InnoDB: au total 15 opérations de ligne à annuler InnoDB: le compteur d'ID Trx est 0 562485504 140502 14:13:06 InnoDB: Démarrage d'un lot d'application d'enregistrements de journal à la base de données ... InnoDB: Progression en pourcentages: 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 InnoDB: Appliquer le lot terminé InnoDB: Démarrage en arrière-plan du retour en arrière des transactions non validées 140502 14:13:06 InnoDB: restauration de trx avec l'ID 0 562485192, 15 lignes à annuler 140502 14:13:06 InnoDB: démarré; journal séquence numéro 108 1058059648 140502 14:13:06 InnoDB: échec d'assertion dans le thread 1873206128 dans le fichier ../../../storage/innobase/fsp/fsp0fsp.c ligne 1593 InnoDB: Échec de l'assertion: frag_n_used> 0 InnoDB: Nous générons intentionnellement un piège mémoire. InnoDB: soumettez un rapport de bogue détaillé à http://bugs.mysql.com. InnoDB: si vous obtenez des échecs ou des plantages d’assertion répétés, même InnoDB: immédiatement après le démarrage de mysqld, il peut y avoir InnoDB: corruption dans l'espace de table InnoDB. Prière de se référer à InnoDB: http://dev.mysql.com/doc/refman/5.1/en/forcing-recovery.html InnoDB: pour forcer la récupération. 140502 14:13:06 - mysqld a reçu le signal 6; Cela pourrait être parce que vous frappez un bug. Il est également possible que ce binaire ou l'une des bibliothèques avec lesquelles il a été lié est corrompue, mal construite, ou mal configuré. Cette erreur peut également être causée par un mauvais fonctionnement du matériel. Nous ferons de notre mieux pour récupérer des informations qui, nous l'espérons, aideront à diagnostiquer le problème, mais comme nous avons déjà planté, quelque chose ne va vraiment pas et cela peut échouer. key_buffer_size = 16777216 read_buffer_size = 131072 max_used_connections = 0 max_threads = 151 threads_connected = 0 Il est possible que mysqld utilise jusqu'à key_buffer_size + (read_buffer_size + sort_buffer_size) * max_threads = 345919 K octets de mémoire J'espère que ça va; sinon, diminuez certaines variables de l'équation. thd: 0x0 Tentative de retour en arrière. Vous pouvez utiliser les informations suivantes pour découvrir où mysqld est mort. Si vous ne voyez aucun message après cela, quelque chose s'est passé terriblement mal ... stack_bottom = (nil) thread_stack 0x30000 140502 14:13:06 [Note] Planificateur d'événements: 0 événement chargé 140502 14:13:06 [Remarque] / usr / sbin / mysqld: prêt pour les connexions. Version: socket '5.1.41-3ubuntu12.10': port '/var/run/mysqld/mysqld.sock': 3306 (Ubuntu) / usr / sbin / mysqld (my_print_stacktrace + 0x2d) [0xb7579cbd] / usr / sbin / mysqld (handle_segfault + 0x494) [0xb7245854] [0xb6fc0400] /lib/tls/i686/cmov/libc.so.6(abort+0x182) [0xb6cc5a82] / usr / sbin / mysqld (+ 0x4867e9) [0xb74647e9] / usr / sbin / mysqld (btr_page_free_low + 0x122) [0xb74f1622] / usr / sbin / mysqld (btr_compress + 0x684) [0xb74f4ca4] / usr / sbin / mysqld (btr_cur_compress_if_useful + 0xe7) [0xb74284e7] / usr / sbin / mysqld (btr_cur_pessimistic_delete + 0x332) [0xb7429e72] / usr / sbin / mysqld (btr_node_ptr_delete + 0x82) [0xb74f4012] / usr / sbin / mysqld (btr_discard_page + 0x175) [0xb74f41e5] / usr / sbin / mysqld (btr_cur_pessimistic_delete + 0x3e8) [0xb7429f28] / usr / sbin / mysqld (+ 0x526197) [0xb7504197] / usr / sbin / mysqld (row_undo_ins + 0x1b1) [0xb7504771] / usr / sbin / mysqld (row_undo_step + 0x25f) [0xb74c210f] / usr / sbin / mysqld (que_run_threads + 0x58a) [0xb74a31da] / usr / sbin / mysqld (trx_rollback_or_clean_all_without_sess + 0x3e3) [0xb74ded43] /lib/tls/i686/cmov/libpthread.so.0(+0x596e) [0xb6f9f96e] /lib/tls/i686/cmov/libc.so.6(clone+0x5e) [0xb6d65a4e] La page de manuel sur http://dev.mysql.com/doc/mysql/en/crashing.html contient des informations qui devraient vous aider à déterminer la cause de l'accident.
Des recommandations?
/etc/mysql/my.cnf
environ.