Aller au contenu principal

MySQL Community Server (mysql)

Base relationnelle pour les services qui exigent MySQL. Autonome ou réplication GTID (une source, des réplicas).

Généré depuis catalog/services/mysql.yaml : ne pas modifier à la main.

Résumé​

Version8.4.5
Usageinstaller et configurer
Coucheinfrastructure (présentée à part)
CatégoriePlateformes de données
Méthodes d'installationpodman, package
Connexion externemysql
Réservé au bac à sablenon

Licence​

Identifiant SPDXGPL-2.0-only
Politique de licenceexception de licence
Exception de licenceLEX-003 (en attente de la décision du client)
Composant de la plateformemysql

Paquets et artefacts​

Un paquet que publie le projet du service (son image, son archive binaire, son paquet Python ou système) porte la licence du service ; un paquet tiers porte la licence écrite sur sa ligne, lue dans les métadonnées officielles du projet amont.

TypePaquetVersionLicenceDétails
image de conteneurdocker.io/library/mysql8.4.5GPL-2.0-onlyclé d'image mysql, utilisée par mysqld, condensé sha256:679e7e924f38a3cbb62a3d7df32924b83f7321a602d3f9f967c01b3df18495d6
paquet systèmemysql-community-serverversion du dépôt configuréGPL-2.0-onlyfamille RHEL (dnf)
paquet systèmemysql-community-clientversion du dépôt configuréGPL-2.0-onlyfamille RHEL (dnf)
paquet systèmemysql-serverversion du dépôt configuréGPL-2.0-onlyfamille Debian (apt)
paquet systèmemysql-clientversion du dépôt configuréGPL-2.0-onlyfamille Debian (apt)

Les images sont épinglées par étiquette dans le descripteur, et par condensé (digest) quand le descripteur en déclare un (le bundle hors ligne refuse alors une image téléchargée qui ne le porte pas) ; le condensé est enregistré dans le miroir du Manager à l'import du bundle hors ligne, et chaque téléchargement ou chargement est vérifié par rapport à lui.

Systèmes et architectures pris en charge​

MéthodeSystèmes d'exploitationArchitectures
podmanfamille RHEL (dnf), famille Debian (apt), Arch Linux (pacman)x86_64, aarch64 (non restreintes par le descripteur)
packagefamille RHEL (dnf), famille Debian (apt)x86_64, aarch64 (non restreintes par le descripteur)

Systèmes hôtes certifiés : RHEL 8/9/10, Rocky Linux 8/9/10, AlmaLinux 8/9/10, Oracle Linux 8/9, CentOS Stream 9/10, Ubuntu 22.04/24.04, Debian 12, Arch Linux (rolling). Le contrôle préalable des hôtes accepte ces systèmes (une autre version d'une famille connue donne un avertissement, une version en fin de vie est refusée) et les architectures x86_64 et aarch64.

Prérequis​

Hôte​

  • au moins 2048 Mo de mémoire (bloquant, memory).

Réseau et ports​

ComposantNom du portPortOuvert dans le pare-feu de l'hôte
mysqldsql3306/tcpoui

Services et connexions nécessaires​

Ce service n'a aucune dépendance.

Méthodes et modes d'installation​

MéthodeDéfautCe que la méthode utilise
podmanouiles images de conteneur du descripteur, exécutées par Podman sous systemd
package-les paquets système du descripteur, installés par le gestionnaire de paquets de l'hôte

Composants​

ComposantTypeMéthodes d'installationPorts
Serveur MySQL (mysqld)maîtrepodman, package3306/tcp

Serveur unique (standalone) (par défaut)​

Un seul serveur MySQL.

Ce que le mode déploie :

ComposantPlacement
mysqldmin 1, max 1

Réplication GTID (replication)​

Le premier hôte est la source, les autres hôtes sont des réplicas GTID en lecture seule.

Ce que le mode déploie :

ComposantPlacement
mysqldmin 2, recommandé 3

Installer ce service​

L'assistant d'installation du Navin Manager planifie, valide et exécute l'installation ; il faut la permission services:install sur le cluster.

  1. Ouvrez l'assistant. Dans Clusters, choisissez l'action de ligne Installer des services du cluster cible. L'assistant s'ouvre sur sa première étape, Service.

  2. Choisissez le service. À l'étape Service, sélectionnez MySQL Community Server. La carte affiche la licence GPL-2.0-only. Choisissez la Méthode parmi podman, package (par défaut podman). Pour enregistrer à la place un service mysql existant de votre organisation, activez Utiliser un service externe existant.

  3. Choisissez les hôtes et le mode. À l'étape Hôtes, cochez les hôtes, puis choisissez le Mode : standalone (par défaut), replication. Chaque mode déploie les composants listés dans Méthodes et modes d'installation.

  4. Liaisons. Ce service n'a aucune dépendance : l'étape Liaisons n'a rien à lier.

  5. Configurez. À l'étape Configuration, relisez les paramètres (voir Paramètres de configuration). Les mots de passe laissés vides avec une valeur générée par défaut sont générés et scellés par le Manager.

  6. Relisez et installez. À l'étape Installation, le Manager valide le plan et affiche l'ordre d'installation ; quand il indique « Le plan est valide. Prêt pour l'installation. », choisissez Installer. Un mode hautement disponible n'est installé que si ses contrôles HA réussissent.

  7. Vérifiez. L'opération se termine quand les contrôles de santé de chaque instance réussissent (voir Contrôles de santé) ; le service apparaît alors en marche dans Services.

Haute disponibilité​

Clusterréplicas (replication)
Haute disponibilitéredondance (redundancy)
Basculecôté client (client)
Réplicationnatif (native)
Quorumaucun (none)
Découvertestatique (static)
Point d'entréedécouverte par le client (client-discovery)
Documentation officiellehttps://dev.mysql.com/doc/mysql-shell/8.4/en/deploying-production-innodb-cluster.html
Paramètre TLS entre pairstls_enabled
Commande d'état du clusterreplica_status

Topologie par mode​

ModesNiveau le plus haut du catalogueRépartitionComposant du quorumDomaines de panneDescription
standaloneautonome (standalone)unique (single)-1Un serveur MySQL.
replicationha (ha)actif-passif (active-passive)-2Une source et des réplicas GTID en lecture seule (asynchrones) ; promouvoir un réplica est une opération manuelle.

Remarques​

  • Le mode du catalogue est une réplication GTID asynchrone sans bascule automatique. La bascule automatique demande InnoDB Cluster (Group Replication, MySQL Shell et MySQL Router, 3 membres ou plus), que ce mode ne déploie pas.

Paramètres de configuration​

Réseau​

ParamètreTypeDéfautValeurs permisesObligatoireSecretRedémarrageDescription
Port (port)port3306-nonnonnonPort TCP du serveur SQL.

Réglages​

ParamètreTypeDéfautValeurs permisesObligatoireSecretRedémarrageDescription
Pool de tampons InnoDB (innodb_buffer_pool_mb)int1024min 128, MBnonnonouiCache InnoDB, environ la moitié de la mémoire de l'hôte. (recommandé clamp(round(host.memory_mb * 0.5), 256, 262144))
Connexions maximales (max_connections)int500min 20, max 100000nonnonnonNombre maximal de connexions clientes.

Sécurité​

ParamètreTypeDéfautValeurs permisesObligatoireSecretRedémarrageDescription
Mot de passe root (root_password)passwordgénéré-nonouinonMot de passe de root@localhost, utilisé seulement par les commandes d'exploitation.
TLS (tls_enabled)boolfalse-nonnonouiServir le port SQL uniquement en TLS (require_secure_transport) avec le certificat émis par l'autorité de la console ; les réplicas répliquent en TLS et vérifient le certificat de la source.
Mot de passe de réplication (replication_password)passwordgénéré-nonouinonMot de passe de l'utilisateur de réplication des réplicas.

Points d'accès​

Point d'accèsSchémaComposantPortCheminParamètre TLSParamètres de liaisonSecrets de liaisonCommande de provisionnement
sqlmysqlmysqld3306 (port)-tls_enableddatabase, username, tlspasswordprovision_consumer

Commandes​

CommandeComposantCibleDescription
Provisionner la base d'un consommateur (provision_consumer)mysqldpremier hôteCrée ou met à jour l'utilisateur et la base d'un service consommateur (idempotent).
Démarrer la réplication (setup_replication)mysqldtous les hôtesFait pointer chaque réplica vers la source avec le positionnement GTID automatique et le démarre.
État des réplicas (replica_status)mysqldtous les hôtesExécute SHOW REPLICA STATUS sur chaque serveur.
Liste des processus (processlist)mysqldpremier hôteAffiche les sessions en cours.

Paramètres des commandes​

CommandeParamètreTypeDéfautObligatoireDescription
provision_consumerBase de données (database)string-ouiBase de données du consommateur.
provision_consumerUtilisateur (username)string-ouiUtilisateur du consommateur.
provision_consumerMot de passe (password)password-ouiMot de passe de l'utilisateur (dérivé par consommateur).

Contrôles de santé​

Vivacité (par instance)​

ComposantContrôleDétails
mysqldTCP {{ host.ip or '127.0.0.1' }}:{{ config.port }}90 tentatives ; intervalle 2 s ; délai 3 s

Disponibilité (contrôle du service)​

ContrôleDétails
TCP {{ host.ip or '127.0.0.1' }}:{{ config.port }}-

Contrôles préalables​

ContrôleTypeSignificationSévéritéComposants
memorymemory_mb {"min": 2048}au moins 2048 Mo de mémoirebloquanttous les composants
sql_port_freeport_free {"param": "port"}port 3306 libre sur l'hôtebloquanttous les composants

Sauvegarde et restauration​

Export logique cohérent (mysqldump --single-transaction) de toutes les bases hors schémas système, pris sur le premier serveur (le primaire du mode réplication) et rejoué avec le client mysql (P5C-008, moteurs mysql_dump et mysql_restore). Les comptes restent dans le schéma mysql du serveur.

Formatmysql-dump
Composantmysqld
Fichiers{{ backup.dir }}/dump.sql
Test de restaurationnon
Instances arrêtées pendant la restaurationnon

Désinstallation​

Chemins supprimés quand les données sont purgées : {{ paths.data }}, {{ paths.log }}.

Documentation amont​