Pourquoi l'installation de MySQL 5.6 sur Ubuntu 14.04 a-t-elle échoué?

30

Je voulais jeter un coup d’œil à MySQL 5.6 sur Ubuntu par curiosité. Et basé sur cet article il semblait certainement que l'installation devrait être simple et directe. J'ai donc lancé un micro-serveur AWS EC2 exécutant Ubuntu 14.04 (64 bits), connecté à mon instance primitive (via PuTTY), et émis les commandes suivantes:

$ sudo apt-get update
$ sudo apt-get build-dep mysql-server-5.6
$ sudo apt-get install mysql-server-5.6

(Les deux premières commandes étaient des mouvements de désespoir, puisque simplement exécuter apt-get install seul n’avait pas fonctionné auparavant. Mais même avec les trois commandes, l’installation ne fonctionnait toujours pas.)

Au point où je m'attendais, d'après l'article référencé ci-dessus, à voir cette sortie de la commande finale:

mysql start/running, process 2355  
Setting up libhtml-template-perl (2.95-1) ...  
Setting up mysql-common-5.6 (5.6.16-1~exp1) ...  
Processing triggers for libc-bin (2.19-0ubuntu6) ...  
Processing triggers for ureadahead (0.100.0-16) ...  

J'ai eu ça à la place:

start: Job failed to start  
invoke-rc.d: initscript mysql, action "start" failed.  
dpkg: error processing package mysql-server-5.6 (--configure):  
 subprocess installed post-installation script returned error exit status 1  
Setting up libhtml-template-perl (2.95-1) ...  
Setting up mysql-common-5.6 (5.6.16-1~exp1) ...  
Processing triggers for libc-bin (2.19-0ubuntu6) ...  
Processing triggers for ureadahead (0.100.0-16) ...  
Errors were encountered while processing:  
 mysql-server-5.6  
E: Sub-process /usr/bin/dpkg returned an error code (1)

Quelqu'un peut-il voir ce qui a mal tourné?

    
posée WebLearner 29.04.2014 - 22:36
la source

7 réponses

22

Le problème que vous rencontrez ressemble à ce rapport de bogue . L'échec du démarrage semble être dû au fait que la configuration par défaut de MySQL 5.6 nécessite plus de mémoire qu'elle ne peut en contenir dans votre micro-instance.

La solution à l’erreur semble être la suivante:

  • Augmentez la quantité de mémoire dans votre instance EC2
  • Définissez une valeur inférieure pour la variable max_connections de MySQL
réponse donnée Mike Miller 29.04.2014 - 22:52
la source
22

J'ai rencontré le même problème lorsque je lance mon petit VPS. Le problème est dû à la petite mémoire. Donc, sans dépenser de l'argent supplémentaire pour augmenter la mémoire dont vous n'avez pas besoin, vous pouvez simplement créer des fichiers d'échange pour faciliter l'installation. Oui, le swap est lent, mais tout ce dont vous avez besoin est de faire l'installation.

Sous Ubuntu 14.04, je fais ce qui suit pour résoudre le problème:

Créez un fichier d'échange 4G:

sudo fallocate -l 4G /swapfile

Modifier son autorisation pour que seul root puisse accéder et changer:

sudo chmod 600 /swapfile

Faites-le échanger:

sudo mkswap /swapfile

Activer:

sudo swapon /swapfile

Maintenant, vous pouvez essayer d’installer à nouveau mysql, cela devrait réussir cette fois-ci. Rappelez-vous juste de supprimer l'installation précédente infructueuse avant de le faire.

    
réponse donnée Arthur Wang 12.08.2014 - 18:39
la source
3

J'ai rencontré le même problème. Bien que j'avais la mémoire assez grande 12Gb donnée à ma machine virtuelle, mais les choses échouaient toujours comme en question. Après avoir passé un certain temps à trouver que default a été amené à manquer certains des packages de traduction d’outils et de traduction d’outils.

Le référentiel MySQL apt offre un moyen simple et pratique d’installer et de mettre à jour les produits MySQL avec les derniers progiciels utilisant apt-get . Voici ce que vous devez suivre:

  1. Ajout du référentiel APT MySQL  Tout d'abord, ajoutez le référentiel MySQL apt à la liste de référentiels logiciels de votre système. Suivez ces étapes:

    • Accédez à la page de téléchargement du référentiel MySQL apt à l'adresse lien .

    • Sélectionnez et téléchargez le package de version.

    • Installez le package de la version téléchargée avec la commande suivante, en remplaçant version-specific-package-name par le nom du package téléchargé (précédé de son chemin, si vous n'exécutez pas la commande dans le dossier où se trouve le package):

      sudo dpkg -i /PATH/version-specific-package-name.deb
      

    Notez que le même paquet fonctionne sur toutes les plates-formes Debian et Ubuntu supportées.

    • Lors de l’installation du package, il vous sera demandé de choisir les versions du serveur MySQL et d’autres composants (par exemple, MySQL Workbench) que vous souhaitez installer. Si vous ne savez pas quelle version choisir, ne modifiez pas les options par défaut sélectionnées pour vous. Vous pouvez également n'en choisir aucun si vous ne souhaitez pas qu'un composant particulier soit installé. Après avoir fait les choix pour tous les composants, choisissez OK pour terminer la configuration et l'installation du package de version.
      

    vous pouvez toujours modifier vos choix pour les versions ultérieures;
      voir Sélection d’une version de version majeure pour les instructions.

    • Mettez à jour les informations du package depuis le référentiel MySQL APT avec la commande suivante (cette étape est obligatoire):

      sudo apt-get update
      
  2. Installation de MySQL avec APT

    • Installez MySQL par la commande suivante:

      sudo apt-get install mysql-server
      

Ceci installe le paquet pour le serveur MySQL, ainsi que les paquets pour le client et pour les fichiers communs de la base de données.

Lors de l’installation, les boîtes de dialogue contiennent deux requêtes: Fournissez un mot de passe à l’utilisateur root pour votre installation MySQL.

  1. Démarrer et arrêter le serveur MySQL

Le serveur MySQL est démarré automatiquement après l’installation.     - Vous pouvez vérifier l’état du serveur MySQL avec la commande suivante:

sudo service mysql status
  • Arrêtez le serveur MySQL avec la commande suivante:

    sudo service mysql stop
    
  • Pour redémarrer le serveur MySQL, utilisez la commande suivante:

    sudo service mysql start
    

J'ai suivi cet lien . Cela a fonctionné sans problème et téléchargé tous les paquets et installé avec succès mysql 5.6 .

    
réponse donnée Ritesh 06.05.2016 - 12:53
la source
2

Dans mon cas, j'ai ajouté

innodb_buffer_pool_size = 20M

au /etc/mysql/my.cnf

    
réponse donnée maxkoryukov 16.02.2016 - 17:48
la source
1

La désactivation de la performance_schema permet également d’économiser beaucoup de mémoire. Ma base de données vide passe de 400m à 40m au démarrage:

performance_schema=0

Documents MySQL: lien

    
réponse donnée dannrob 07.08.2014 - 07:53
la source
1

J'ai rencontré ce problème sur Ubuntu 15.10. Pour moi ce n'était pas un problème de mémoire (j'ai 2 Go de RAM et 18 Go de swap, dont seulement environ 300 Mo ont été utilisés au total).

Dans mon cas, dpkg recherchait /etc/mysql/conf.d , qui n'existait pas (cependant /etc/mysql/mysql.conf.d l'avait fait!). Réinstaller mysql et créer manuellement le dossier /etc/mysql/conf.d a résolu mon problème .

Comment cela s'est-il passé exactement? Je n'ai aucune idée. Je n'ai presque pas voulu partager ma réponse, car je parie que cette solution est spécifique à mon ordinateur.

J'ai résolu ce problème en utilisant l'utilitaire strace , ce qui est fantastique pour ce genre de choses, si incroyablement verbeux.

Je l’ai utilisé comme ceci:

  • Après avoir appuyé sur ctrl c à mi-chemin de apt-get install mysql-server , j'ai dû exécuter dpkg --configure -a pour terminer l'installation.

  • J'ai couru strace 2>/tmp/trace dpkg --configure -a . Cela a fait de moi un joli% Cd%% à strace .

  • J'ai parcouru le journal, en particulier en bas, où il a échoué.

  • J'ai remarqué qu’il essayait d’accéder à /tmp/trace et qu’il avait le code d’erreur ENOENT, aucun fichier ou répertoire de ce type .

Si vous souhaitez vous lancer, utilisez /etc/mysql/conf.d et grep pour strace 2>/tmp/trace (command) . Comme je l’ai dit, cette solution est probablement spécifique à mon ordinateur, mais vous voudrez peut-être essayer.

    
réponse donnée apricot boy 08.12.2015 - 08:32
la source
0

Dans mon cas, tout ce que j'avais à faire était d'apporter quelques modifications à my.cnf et de supprimer 2 fichiers journaux nommés ib_logfile0 et ib_logfile1 , et de démarrer mysql

service mysql start

Pas besoin de réinstaller mysql, il suffit de supprimer ces 2 fichiers journaux et de redémarrer le serveur mysql

Ci-dessous, les modifications que j'ai apportées à my.cnf :

max_connections     = 1000     
max_allowed_packet  = 1024M
wait_timeout        = 7200 
    
réponse donnée Lavina Chitara 05.01.2017 - 09:57
la source

Lire d'autres questions sur les étiquettes