- Base de données›
- Amazon RDS›
- Amazon RDS for MySQL
Qu’est-ce que MySQL ?
Qu’est-ce que MySQL ?
MySQL est le principal magasin de données relationnelles pour de nombreux sites web, applications et produits commerciaux populaires. Avec plus de 25 ans de développement et de support soutenus par la communauté, MySQL est un système de gestion de base de données en langage de requêtes structuré (SQL) fiable, stable et sécurisé.
La base de données MySQL convient à une grande variété de cas d’utilisation, y compris les applications critiques et les sites web dynamiques. MySQL est également un moteur SQL populaire pour les applications modernes, en raison de sa simplicité et de sa fiabilité. Les développeurs d’applications bénéficient d’un moteur doté d’une interface client-serveur simple et d’une intégration plus rapide, tandis que les organisations réduisent leurs coûts de formation.
AWS prend en charge MySQL de différentes manières, notamment grâce à un service de base de données entièrement géré, Amazon Relational Database Service (RDS) pour MySQL. L’édition compatible avec Amazon Aurora MySQL est également créée à l’aide de MySQL, et Amazon RDS prend en charge le célèbre projet de fork MySQL, MariaDB.
Vous pouvez également héberger le logiciel MySQL sur Amazon EC2 et gérer vous-même la base de données, ou parcourir les offres MySQL tierces sur AWS Marketplace.
Historique de MySQL
La première version de MySQL Server a été publiée en 1995 par l’entreprise suédoise MySQL AB, fondée par David Axmark, Allan Larsson et Michael Widenius. MySQL tire son nom de la fille de Widenius, My. Le projet MySQL a été publié en open source en 2000, sous la licence publique générale (GPL) GNU.
En 2001, MySQL comptait plus de deux millions d’installations actives. En 2004, le logiciel était téléchargé plus de 30 000 fois par jour. MySQL a été rachetée par Sun Microsystems en 2008 et, lorsqu’Oracle a acquis Sun en 2009, elle a également pris possession de MySQL.
Avantages de l’utilisation de la base de données MySQL
Simplicité d’utilisation
La base de données MySQL a trouvé la faveur des développeurs web en raison de sa convivialité et de ses fonctionnalités de productivité, notamment des déclencheurs, des procédures stockées et des vues actualisables. MySQL inclut des utilitaires tels que mysqldump, un programme de sauvegarde ; mysqladmin, un client administratif ; et MySQL Workbench, une interface graphique pour les travaux de gestion et de migration.
Performances
Au fil du temps, MySQL a amélioré ses performances grâce à des fonctionnalités telles que des tables de disques B-tree avec compression d’index, une allocation de mémoire basée sur les threads et des jointures en boucle imbriquée optimisées. Le verrouillage au niveau des lignes et la cohérence des lectures dans le moteur de stockage offrent à MySQL des avantages supplémentaires en termes de performances pour la simultanéité entre plusieurs utilisateurs. MySQL suit et promeut des pratiques de conception pour des performances plus rapides en fournissant des fonctionnalités de base avec un ensemble de fonctionnalités minimal.
Fiabilité et sécurité
Le moteur de stockage transactionnel InnoDB de MySQL adhère au modèle ACID, avec des fonctionnalités supplémentaires qui améliorent la protection des données, notamment la restauration instantanée et la validation automatique. InnoDB garantit également l’intégrité des données grâce à la prise en charge des contraintes de clé étrangère, évitant ainsi les incohérences entre les tables de données.
MySQL inclut des fonctionnalités de sécurité renforcées et flexibles, notamment la vérification basée sur l’hôte et le chiffrement du trafic de mots de passe. InnoDB offre des avantages de sécurité supplémentaires, avec le chiffrement des espaces de table de données au repos à l’aide d’une architecture de clé de chiffrement à deux niveaux.
Licence open source
MySQL est disponible sous une licence open source (la licence publique générale GNU), vous permettant d’utiliser et de modifier librement le code source lorsque vous installez MySQL. Les versions gérées de MySQL, comme Amazon RDS for MySQL, n’entraînent aucun coût de licence supplémentaire pour le moteur MySQL, contrairement aux moteurs SQL propriétaires.
La vaste communauté mondiale de contributeurs et de passionnés de MySQL apporte de nombreux avantages supplémentaires et durables à l’utilisation du système de base de données. Par exemple, la communauté MySQL reste au fait des problèmes de sécurité et des corrections de bogues, contribuant ainsi à la résilience globale du logiciel. Les groupes d’utilisateurs, les événements, les forums et les listes de diffusion MySQL fournissent un réseau intégré de formation et d’assistance.
Cas d’utilisation courants de MySQL
Base de données OLTP à usage général
MySQL convient à toutes les applications nécessitant un moteur SQL transactionnel, y compris les applications critiques et les sites web très fréquentés. MySQL adhère aux principes ACID et inclut des extensions à la norme SQL ANSI/ISO, ainsi que la prise en charge pour XML et JSON.
MySQL prend également en charge le clustering de bases de données à haute disponibilité et peut gérer des bases de données de la taille du pétaoctet. Les applications courantes qui utilisent la base de données MySQL incluent TYPO3, MODx, Joomla, WordPress, phpBB, MyBB et Drupal.
Applications d’e-commerce
MySQL est l’un des moteurs transactionnels les plus populaires pour les plateformes de commerce électronique. MySQL est particulièrement utile pour gérer toutes les données relatives aux clients, aux transactions et aux catalogues de produits.
Dans les solutions de commerce électronique, MySQL est souvent utilisé conjointement avec d’autres bases de données non relationnelles, notamment des magasins de documents et de valeurs clés pour synchroniser les données de commande et stocker des données non liées aux produits.
Pile open source LAMP
MySQL fait partie intégrante d’innombrables applications qui s’exécutent sur la pile logicielle open source LAMP (LAMP signifie Linux, Apache, MySQL et PHP/Python/Perl). LAMP est une pile de solutions de services web omniprésente et est largement considérée comme la plateforme de choix pour les sites web dynamiques et les applications web à hautes performances.
Projets de fork du logiciel MySQL
MariaDB
MariaDB est un fork populaire de MySQL de MariaDB, qui a été fondé par les développeurs originaux de MySQL qui souhaitaient que MySQL reste gratuit et open source sous la licence GNU GPL. Bien que MariaDB soit gérée séparément de MySQL, elle conserve un haut degré de compatibilité avec MySQL, notamment en ce qui concerne l’équivalence binaire des bibliothèques, la correspondance exacte avec les interfaces de programmation d’applications (API) et divers outils de gestion. AWS prend en charge MariaDB avec le service de base de données entièrement géré, Amazon RDS for MariaDB.
Percona Server
Percona Server est un autre fork populaire de MySQL de Percona. Percona Server inclut XtraDB, le fork de Percona du moteur de stockage InnoDB.
Support linguistique pour le développement d’applications
MySQL est le leader en matière de prise en charge du langage SQL. MySQL prend également en charge la plupart des principaux langages de programmation et protocoles, permettant aux utilisateurs de : Python, Java, Perl, Node.js, .NET, PHP, Ruby, Erlang, C/C++, Tcl, ODBC et Objective-C.
MySQL vs PostgreSQL
MySQL et PostgreSQL sont deux bases de données relationnelles open source populaires. La popularité de MySQL est due au fait qu’il a été perçu comme facile à utiliser et rapide, tandis que PostgreSQL a été perçu comme riche en fonctionnalités et plus comparable aux versions sous licence commerciale de bases de données telles qu’Oracle. Cependant, les principales versions actuelles de MySQL et de PostgreSQL offrent toutes deux de nombreuses fonctionnalités robustes en matière de performances de requêtes, de fiabilité, de sécurité, etc. Vous pouvez en savoir plus sur PostgreSQL et essayer Amazon Aurora PostgreSQL ou Amazon RDS pour PostgreSQL en utilisant le l’offre gratuite AWS.
Options d’hébergement MySQL sur AWS
MySQL autogéré sur Amazon EC2
Historiquement, les bases de données relationnelles étaient sur site, et lorsque les charges de travail des bases de données ont été transférées vers le cloud, les entreprises ont d’abord utilisé Amazon EC2 pour gérer leurs propres bases de données. Cette approche vous permet de gérer toutes les tâches d’administration habituelles associées à une base de données sur site, telles que le provisionnement matériel, la configuration de la base de données, le réglage, l’application de correctifs, les sauvegardes et la capacité de mise à l’échelle de MySQL.
MySQL entièrement géré sur Amazon RDS
Amazon Relational Database Service (Amazon RDS) est un service de base de données relationnelle facile à gérer, optimisé pour le coût total de possession. Simple à configurer et à utiliser, le service se met à l’échelle en fonction de la demande. RDS automatise les tâches indifférenciées de gestion des bases de données, telles que le provisionnement, la configuration, la sauvegarde et l’application de correctifs.
RDS vous permet de créer une nouvelle base de données en quelques minutes et offre la flexibilité nécessaire pour personnaliser les bases de données afin de répondre à leurs besoins. Vous pouvez optimiser les performances grâce à des fonctionnalités telles que deux options de veille lisibles, des écritures et des lectures optimisées et des instances basées sur AWS Graviton4, et ils peuvent choisir parmi plusieurs options de tarification pour gérer efficacement les coûts.
Modernisez avec l’édition compatible avec Amazon Aurora MySQL
Amazon Aurora fournit des performances et une disponibilité inégalées à l’échelle mondiale pour MySQL. Aurora a un débit 5 fois supérieur à celui de MySQL avec une compatibilité totale. Aurora propose des normes de conformité étendues et des fonctionnalités de sécurité d’entreprise, ainsi que la prise en charge des applications distribuées dans le monde entier.
Démarrer avec Amazon RDS for MySQL est simple
1
S’inscrire à Amazon RDS
Obtenez l’accès à l’offre gratuite Amazon RDS.
2
Apprendre avec des tutoriels simples
Découvrez comment créer une base de données MySQL et vous y connecter à l’aide de RDS.
3
Commencer à créer avec Amazon RDS
Commencez à créer avec l’aide du guide de l’utilisateur de MySQL sur Amazon RDS.
Processus de migration de base de données MySQL
Approches de migration de bases de données MySQL natives et tierces
Services de vidage et de réplication SQL
L’approche native la plus pratique pour la migration du système de gestion de base de données relationnelle MySQL consiste à effectuer un vidage SQL, puis à effectuer des activités de réplication pour garantir la synchronisation des bases de données. mysqldump de MySQL, un utilitaire de sauvegarde intégré, sert de base à la migration de la base de données du serveur MySQL. Mysqldump vide l’intégralité de la base de données avec un fichier de vidage et fournit un ensemble d’instructions SQL pour régénérer la base de données. Cette méthode est utile pour une base de données inférieure à 10 Go, lorsque vous disposez d’une connexion Internet rapide et stable et que le temps de migration des données n’est pas critique.
Percona XtraBackup et Amazon S3
En transférant d’abord les fichiers et les sauvegardes Percona XtraBackup vers Amazon S3, vous pouvez migrer les serveurs de base de données de manière individuelle depuis une base de données source vers un nouveau cluster de bases de données Amazon RDS for MySQL ou Aurora. L’utilisation de ce processus de conversion de migration de données pour charger des données peut être beaucoup plus rapide que l'utilisation de mysqldump.
Base de données INFORMATION_SCHEMA
La base de données INFORMATION_SCHEMA intégrée peut être utilisée comme explorateur de métadonnées MySQL. À l’aide de cet explorateur de métadonnées MySQL en combinaison avec AWS DMS Schema Conversion, vous pouvez déterminer si les schémas de votre base de données source correspondent aux schémas et aux types de données de votre base de données de destination et identifier les points à corriger.
Services gérés de migration de données MySQL
AWS Database Migration Service
AWS Database Migration Service (DMS) découvre, évalue, convertit et migre les charges de travail des bases de données MySQL vers AWS, réduisant ainsi les modifications manuelles et les efforts nécessaires. L’assistant de migration AWS DMS vous permet de sélectionner à la fois l’infrastructure source et cible, en utilisant la réplication automatique avec Change Data Capture (CDC), et de créer des rapports avec des évaluations automatisées et des recommandations d’objets cibles. Il n’est pas nécessaire de convertir les schémas ou les définitions d’objets dans MySQL en migrations MySQL. Tirez parti du AWS Application Discovery Service pour découvrir les éventuelles dépendances dans les bases de données de votre serveur MySQL avant de migrer les données.
Service de migration des applications AWS
Si vous effectuez un simple transfert pour migrer des données vers EC2 depuis votre serveur MySQL sur site, vous pouvez migrer l’intégralité de votre serveur vers EC2 à l’aide du service de migration des applications AWS. Vous pouvez appliquer cette technique à des bases de données uniques ou à plusieurs objets de base de données.