Installer MariaDB à l'aide d'APT

Pour Debian et Ubuntu, il est fortement recommandé de faire l'installation à partir des systèmes de dépôt à l'aide d' apt-get, aptitude, synaptic ou un autre gestionnaire de paquets.

La manière la plus simple de mettre en place MariaDB est d'utiliser notre outil de configuration de dépôt en ligne et de suivre les instructions qu'il génère.

Importer la clé de signature GnuPG

Tout d'abord, il faut importer la clé de signature GPG que nous utilisons pour signer les systèmes de dépôts. Cette clé permet à apt de vérifier l'intégrité des paquets qu'il télécharge.

L'identification de notre clé de signature est 0xcbcb082a1bb943db et l'empreinte complète de la clé est:

1993 69E5 404B D5FC 7D2F E43B CBCB 082A 1BB9 43DB

L'application apt-key est un moyen facile d'importer cette clé dans apt :

sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 0xcbcb082a1bb943db

Lors de l'importation de la clé de signature, aussi bien pour Ubuntu que pour Debian la commande ci-dessus reste la même.

Example:
localhost:~# apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.ASyOPV87XC --trustdb-name /etc/apt/trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db
gpg: requesting key 1BB943DB from hkp server keyserver.ubuntu.com
gpg: key 1BB943DB: "MariaDB Package Signing Key <package-signing-key@mariadb.org>" imported
gpg: no ultimately trusted keys found
gpg: Total number processed: 1
gpg:               imported: 1

Une fois que la clé est ajoutée, il faut ajouter le dépôt de paquets MariaDB dans la liste des dépôts utilisés par le système.

Ajouter MariaDB à votre sources.list

Pour générer facilement les entrées sources.list appropriées (également connues sous le nom de lignes APT), il faut utiliser notre outil de configuration de dépôt en ligne.

Dans l'outil, choisir "debian" ou "ubuntu" en fonction de la distribution utilisée puis choisir la version du système installée puis celle de MariaDB voulue.

Par exemple, les instructions pour rajouter le dépôt de MariaDB 10.0 en utilisant le mirroir principal de MariaDB pour Ubuntu 14.04 "trusty" :

sudo apt-get install software-properties-common 
sudo apt-key adv --recv-keys --keyserver hkp://keyserver.ubuntu.com:80 0xcbcb082a1bb943db 
sudo add-apt-repository 'deb http://ftp.osuosl.org/pub/mariadb/repo/10.0/ubuntu trusty main'

Il est possible de vérifier quelle version de système est utilisée avec :

lsb_release -a

Une fois les entrées générées, les rajouter à la configuration des dépôts du système /etc/apt/sources.list (ex: avec "sudo gedit /etc/apt/sources.list") ou dans un fichier séparé situé dans le répertoire /etc/apt/sources.list.d/ (ex: avec "sudo gedit /etc/apt/sources.list.d/mariadb.list".

Il est aussi possible de se servir de l'outil Software Sources pour ajouter les lignes APT. Cet outil se trouve dans le menu "Edit" dans le Software Center d'Ubuntu. Dans le gestionnaire de paquets synaptic, cet outil est appelé "repository" et il se trouve dans le menu "Settings". Après le lancement de l'outil cliquez sur l'onglet "Other Software", puis cliquez sur le bouton "Add..." et collez-le dans la ligne apt (faire ceci une fois pour chacune des deux lignes).

De la même manière que pour l'ajout des clés GPG, cette opération n'a besoin d'être exécutée qu'une fois sur le système.

Installer MariaDB avec apt-get

Une fois la clé de signature et les lignes APT en place, afin de télécharger les informations requises par APT pour pouvoir installer MariaDB, il faut exécuter :

sudo apt-get update

MariaDB peut être alors installé avec votre gestionnaire de paquets préféré, par exemple:

sudo apt-get install mariadb-server

Installer TokuDB avec apt-get

Les instruction pour installer TokuDB se situent sur l'article Comment activer TokuDB dans MariaDB.

Installer MariaDB Galera Cluster avec apt-get

Les instructions pour installer MariaDB Galera Cluster sont identiques à celles pour installer MariaDB. La seule différence est qu'au lieu d'installer le paquet mariadb-server, il faut installer les paquets mariadb-galera-server et galera, de la manière suivante :

sudo apt-get install mariadb-galera-server galera

Si le serveur possède déjà le paquet mariadb-server d'installé, il sera automatiquement retiré avant l'installation de mariadb-galera-server.

Voir la section Galera de la Base de connaissances pour plus d'informations sur MariaDB Galera Cluster.

Problèmes d'Installation

MariaDB 5.1 - 5.5

Différence de versions entre les dépôts MariaDB et Ubuntu/Debian

Tel que mentionné ici (et dans MDEV-4080 et MDEV-3882), il peut arriver qu'APT refuses d'installer MariaDB ou que si MariaDB est déjà installé, suggères sa désinstallation afin d'effectuer une mise à jour des paquets mysql-common ou libmysqlclient. Cela arrive si la version de ces paquets est supérieure sur le dépôt de paquets de la distribution à celles disponibles sur le dépôt de MariaDB. La majorité des paquets de MariaDB ont un nom différent de ceux de MySQL mais afin que la mise à niveau depuis MySQL vers MariaDB soit fonctionnelle dans APT, ces deux paquets doivent être nommés à l'identique. Dû au fait qu'ils portent le même nom, APT vérifie juste leur version et installe celle qu'il considère comme étant la plus récente.

Il est rare que les versions de mysql-common ou libmysqlclient soit supérieures sur les dépôts officiels de Ubuntu ou Debian que sur les dépôts de MariaDB mais cela peux arriver. Quand cela arrive, c'est à cause de bugs critiques ayant été corrigés dans la version de MySQL fournie par les dépôts de la distribution mais ayant déjà été corrigés dans la version de MariaDB sur les dépôts MariaDB.

Si la situation décrite précédemment existe lorsque au moment d'installer MariaDB, une erreur de ce type sera rencontrée :

The following packages have unmet dependencies:
 mariadb-server : Depends: mariadb-server-5.5 but it is not going to be installed
E: Unable to correct problems, you have held broken packages.

Il y à trois principales manières de solutionner ce problème :

  1. Épingler le dépôt MariaDB
  2. Spécifier une version particulière à installer
  3. Bloquer les paquets

Épingler le dépôt MariaDB

L'une des solutions est d'Épingler le dépôt de paquets de MariaDB utilisé. Pour ce faire, il faut créer un fichier ayant l'extension .pref dans le répertoire /etc/apt/preferences.d/ et ayant pour contenu :

Package: *
Pin: origin <mirror-domain>
Pin-Priority: 1000

Replacer <mirror-domain> par le nom de domaine du miroir MariaDB utilisé. Par exemple, ftp.osuosl.org. Avec l'épinglage en place, les paquets du dépôt MariaDB utilisé seront prioritaires sur ceux du dépôt du système.

Spécifier une version particulière à installer

Une autre solution consiste à spécifier la version exacte des deux paquets à installer. Pour ce faire, il faut premièrement déterminer la version complète des paquets en question. Une manière simple de le faire est d'utiliser apt-cache show:

apt-cache show mysql-common | grep Version
apt-cache show libmysqlclient18 | grep Version

Pour chacun des paquets, une liste de version est affichée. Ceux situés dans les dépôts MariaDB auront "mariadb" dans leur nom de version, ce sont ceux à installer. Pour installer ces versions spécifiques de paquets, il faut faire :

apt-get install mariadb-server-5.5 mariadb-client-5.5 \
  libmysqlclient18=<version-number> \
  mysql-common=<version-number>

Remplacer les <version-number> de l'exemple ci-dessus par la version précédemment récupérées depuis apt-cache show.

Bloquer les paquets

Après que MariaDB soit installé et tant que le conflit de version existe, exécuter 'apt-get dist-upgrade' tentera de retirer MariaDB afin d'installer la version "à jour" de libmysqlclient et mysql-common. Afin d'éviter que cela ne se produises, il est possible de les bloquer afin qu'apt n'essaye pas des les mettre à jour. Pour ce faire, il faut exécuter en tant qu'utilisateur root :

echo libmysqlclient18 hold | dpkg --set-selections
echo mysql-common hold | dpkg --set-selections

Le blocage empêchera la mise à jour de MariaDB. Pour retirer ce blocage afin de pouvoir à nouveau mettre à jour normalement MariaDB, il faut exécuter en tant qu'utilisateur root :

echo libmysqlclient18 install | dpkg --set-selections
echo mysql-common install | dpkg --set-selections

Comment installer les paquets .deb manuellement

Même si ce n'est pas recommandé, il est possible de télécharger et d'installer les paquets manuellement (c'est-à-dire sans utiliser un gestionnaire de paquets tel que apt-get). Pour ce faire, il faut parcourir les répertoires dans le répertoire repo/ sur votre miroir le plus proche. Les fichiers .deb se trouvent respectivement dans debian/pool/ et ubuntu/pool/.

Voici les commandes que nous utilisons dans une boîte Debian 5 amd64 pour installer MariaDB 5.1.42 (pour les autres distributions basées sur Debian l'opération devrait être similaire) :

sudo apt-get update
sudo apt-get install libdbi-perl libdbd-mysql-perl psmisc
sudo dpkg --install mysql-common_5.1.42-mariadb73_all.deb
sudo dpkg --install libmariadbclient16_5.1.42-mariadb73_amd64.deb libmysqlclient16_5.1.42-mariadb73_amd64.deb \
mariadb-client_5.1.42-mariadb73_all.deb mariadb-client-5.1_5.1.42-mariadb73_amd64.deb mariadb-server_5.1.42-mariadb73_all.deb \
mariadb-server-5.1_5.1.42-mariadb73_amd64.deb

Comments

Comments loading...