Conditions préalables
- Un serveur Vultr fonctionnant sous Arch Linux à jour (voir cet article .)
- Accès Sudo:
- Les commandes devant être exécutées en tant que root sont préfixées par
#, et celles qui peuvent être exécutées en tant qu'utilisateur normal par $. La façon recommandée d'exécuter des commandes en tant que root est, en tant qu'utilisateur normal, de préfixer chacunesudo
Vous pouvez choisir d'installer MariaDB ou MySQL, décrit dans les deux sections suivantes.
Installer la base de données MariaDB 10.3
Installez MariaDB:
# pacman -S mariadb
Si vous exécutez le système de fichiers Btrfs, vous devez envisager de désactiver la copie sur écriture pour le répertoire de la base de données pour des raisons de performances:
# chattr +C /var/lib/mysql/
Configurez MariaDB:
# mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
Démarrez MariaDB et faites-le démarrer après chaque démarrage:
# systemctl enable --now mariadb
Remplissez les mesures de sécurité recommandées. Au début, appuyez sur ENTERpour le mot de passe de la base de données racine actuelle, définissez un nouveau mot de passe racine et appuyez sur ENTERpour répondre oui à toutes les autres invites.
# mysql_secure_installation
Installer la base de données MySQL 8.0
Bien que MariaDB soit fortement recommandé, vous pouvez également installer MySQL à partir d'Arch Linux User Repository (AUR). Sachez que les packages AUR ne sont pas officiellement pris en charge, peuvent être mis à jour moins fréquemment et qu'ils ne sont pas nécessairement soumis par un utilisateur approuvé, leur PKGBUILD / ETC doit être examiné pour tout code suspect. Cela dit, au début de 2019, le mainteneur AUR actuel pour mysqlest "Muflone". Bien qu'il ne soit pas un utilisateur approuvé approuvé pouvant publier dans les référentiels officiels, il a été un contributeur précieux à Arch depuis 2011, maintient environ 250 packages AUR (dont beaucoup sont populaires) et n'a jamais rien fait de suspect.
Pour installer MySQL, compilez et installez le package AUR mysql. Voir Construction de packages sur Arch Linux (y compris l'AUR) . MariaDB et MySQL ont des étapes de post-installation très similaires.
Si vous exécutez le système de fichiers Btrfs, vous devez envisager de désactiver la copie sur écriture pour le répertoire de la base de données pour des raisons de performances:
# chattr +C /var/lib/mysql/
Configurer MySQL:
# mysqld --initialize --user=mysql --basedir=/usr --datadir=/var/lib/mysql
Démarrez MySQL et faites-le démarrer après chaque démarrage:
# systemctl enable --now mysqld
Remplissez les mesures de sécurité recommandées. Un mot de passe de base de données racine temporaire généré automatiquement a été affiché par la commande précédente. Définissez un nouveau mot de passe root. Répondez à ytoutes les autres invites oui / non et sélectionnez la 2politique de validation de mot de passe "FORTE".
# mysql_secure_installation
Notez que MariaDB et MySQL ne peuvent pas être installés sur le même système, car MariaDB est conçu pour être un remplacement direct et possède des fichiers du même nom. De plus, lors de la compilation avec moins de 4 Go de RAM totale (RAM physique + swap), vous pouvez rencontrer une erreur de mémoire épuisée lors de la compilation.
Tester la connexion
Pour vous connecter à MariaDB ou MySQL en tant qu'utilisateur de base de données racine, exécutez ce qui suit:
$ mysql -u root -p
Quitter:
MariaDB [(none)]> quit
Considérez un pare-feu
Vous voudrez peut-être envisager de configurer un pare-feu. Par défaut, MariaDB écoutera sur le port 3306, non seulement depuis l'hôte local, mais aussi depuis n'importe où sur votre adresse IP publique. Par défaut, MariaDB n'approuvera les connexions entrantes depuis localhost, mais les tentatives externes va encore atteindre MariaDB et obtenir une erreur: Host... is not allowed to connect to this MariaDB server. Bien que MariaDB soit considéré comme assez sécurisé, il est plus sûr qu'un pare-feu ne donne même pas de paquets externes au serveur MariaDB, sauf si cela est absolument nécessaire. Même si un accès direct à distance est souhaité, l'utilisation d'un pare-feu pour bloquer le trafic et l'utilisation d'un VPN seraient plus sécuritaires.
Préparez-vous aux mises à niveau
Par défaut, met à pacmanniveau MariaDB lorsque de nouvelles versions sont publiées dans les référentiels officiels d'Arch, lorsque vous mettez à niveau l'ensemble de votre système Arch en exécutant ce qui suit:
# pacman -Syu
Il est recommandé de configurer pacmanpour ne pas installer automatiquement les mises à niveau vers MariaDB. Lorsqu'une mise à niveau est publiée et que vous mettez à niveau l'ensemble de votre système Arch, pacmanvous informerez qu'une nouvelle version est disponible. Modifiez /etc/pacman.confet ajoutez les éléments suivants:
IgnorePkg = mariadb*
C'est une bonne idée de sauvegarder votre base de données avant la mise à niveau.
Lorsque pacmanvous montre qu'il y a une mise à niveau MariaDB, forcez la mise à niveau des packages:
# pacman -S mariadb mariadb-clients mariadb-libs
Si vous exécutez le package AUR MySQL, pacmanne compile et n'installe jamais automatiquement de nouvelles versions à partir de l'AUR, donc les étapes ci-dessus ne sont pas nécessaires, mais celles ci-dessous sont toujours requises.
Après une mise à niveau, le .installscript du package vous alertera pour effectuer les étapes suivantes, mais le blocage de la mise à niveau automatique garantit que vous ne la manquerez pas.
Redémarrez MariaDB, pour charger la nouvelle version:
# systemctl restart mariadb
Vérifiez et mettez à jour vos tables pour vous conformer à la nouvelle version:
# mysql_upgrade -u root -p