Mise à jour MySQL 5.7.28 vers MySQL 8

Résolu
bobelette -  
mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour,

Je tente de mettre à jour MySQL sur un serveur de production sous Jessie
Initialement en 5.5. J'ai pu installer la version 5.7 en la téléchargeant depuis
https://dev.mysql.com/downloads/repo/apt/ et l'installant via
dpkg
.

Quelques petites galères, mais à présent tout tourne.

J'essaie donc de mettre à jour en version 8.
Tout se passe bien mais au moment du
apt-get install mysql-server
, il me dit :

mysql-server est déjà la plus récente version disponible.


Celui-ci reste donc sur le
5.7.28
...

Est-ce un problème dû à
/etc/apt/source.list
? Dans
/var/cache/apt/archives
, je retrouve
mysql-server_5.7.28-1debian8_amd64.deb
.

J'ai vraiment besoin d'accéder à la v. 8, voila de nombreuses heures que je bloque... j'ai fais beaucoup de recherche en vain... Quelqu'un aurait-il une idée ?

Merci beaucoup

2 réponses

  1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
     
    Bonjour,

    Alors pour répondre à ta question il nous faudrait effectivement le contenu de ton
    /etc/apt/sources.list
    .

    Pour commencer, sache que sur les versions récentes de debian, le serveur mysql par défaut est désormais
    mariadb
    , l'implémentation libre du mysql porté par Oracle.

    Ensuite tes questions me laissent penser que tout n'est pas encore parfaitement clair pour toi concernant le gestionnaire de paquets debian, donc je me permets de te remettre son principe de fonctionnement.

    Rappels sur
    apt


    1) Lorsque tu lances
    apt update
    (ou
    apt-get update
    ou
    aptitude update
    ),
    apt
    consulte le fichier
    /etc/apt/sources.list
    . Il récupère aux adresses indiquées la liste des paquets disponibles. La liste des paquets disponible dépend donc :
    • des miroirs référencés (e.g.
      http://ftp.fr.debian.org/debian/
      )
    • des dépôts configurés (e.g.
      free
      ,
      contrib
      ,
      non-free
      )
    • de la version de debian (e.g.
      stable
      ,
      testing
      ou le nom de code de la version de debian, e.g.
      buster
      ,
      bullseye
      ).


    2) Quand tu fais un
    apt upgrade
    (ou
    apt-get upgrade
    ou
    aptitude safe-upgrade
    ), apt télécharge les paquets devant être installés ou mis à jour dans
    /var/cache/apt/archives
    . Puis il instancie
    dpkg -i
    pour installer les paquets dans le bon ordre (typiquement, il s'assure avant d'installer un paquet que ses dépendances sont installées). Il en va de même pour
    apt install
    .
    apt
    se contentera d'installer uniquement ce paquet et les mises à jour nécessaires au niveau de ses dépendances.

    Note que si tu lances
    apt upgrade
    ou
    apt install
    alors que tu n'as pas fait
    apt update
    depuis longtemps,
    apt
    tentera de récupérer des paquets qui n'existent plus et tu auras alors une erreur 404 (paquet non trouvé). Il suffit alors de reprendre depuis l'étape 1.

    Retour à ton problème

    Il est donc normal que tu ne retrouves dans
    /var/cache/apt/archives
    que les paquets installés via
    apt
    et conformes à ton
    /etc/apt/sources.list
    . Cela explique aussi pourquoi tu as galéré avec
    dpkg
    , on utilise exceptionnellement cette commande (ou en tandem avec
    apt-get install -f
    pour installer les dépendances manquantes).

    Donc ce qu'il faut retenir à ce stade :
    • Installe autant que possible via
      apt
      . On n'installe via
      dpkg
      que des paquets qui ne sont pas fournis par un miroir debian (e.g. skype), ce qui est en pratique rarissime.
    • Si un paquet n'est pas fourni par
      apt
      , c'est que ton fichier
      /etc/apt/sources.list
      est incomplet et/ou incorrect.


    La démarche à adopter

    Si tu ne trouves pas un paquet donné, commence par le chercher sur https://www.debian.org/distrib/packages. Tu retrouveras en particulier le nom du paquet, le dépôt, et la version disponible pour chaque version de debian.

    Exemple :

    Ici on voit qu'installer
    mysql-server
    (pour une debian buster) installera en cascade mariadb en version 10.

    Remarque : il existe aussi des outils comme
    apt search
    ,
    apt-cache search
    ,
    apt-file search
    pour t'aider dans tes recherches. Mais ceci n'examinent que ta version de debian.

    Donc tu l'auras compris, tout se joue au niveau de ton
    /etc/apt/sources.list
    . Voici celui que j'utilise (pour une debian testing) :

    deb http://ftp.fr.debian.org/debian/ testing main contrib non-free
    deb https://www.debian.org/security/ testing-security main contrib non-free
    deb http://ftp.fr.debian.org/debian/ testing-updates main contrib non-free


    Enfin, (voir section sur
    apt
    ), si tu décides de corriger ce fichier, il faudra faire une mise à jour (
    apt update
    et idéalement aussi
    apt upgrade
    , même si rien ne t'oblige à tout mettre à jour).

    Bonne chance
    1
  2. bobelette
     
    Bonjour,

    Un grand merci pour le détail de tes explications.
    Je vais continuer en ce sens.

    Merci
    0
    1. mamiemando Messages postés 33228 Date d'inscription   Statut Modérateur Dernière intervention   7 940
       
      Parfait, bonne continuation :-)
      0