Recherche de site Web

Qu’est-ce que MySQL ? Comment fonctionne MySQL ?


MySQL est le système de gestion de bases de données relationnelles open source (SGBDR) open source le plus populaire au monde. Il est utilisé par Facebook, Google, Adobe, Alcatel Lucent et Zappos, et par de nombreux sites Web/applications en ligne.

Il est développé, distribué et pris en charge par Oracle Corporation. Il s'agit d'une base de données relationnelle multiplateforme, puissante, flexible et extensible, basée sur le langage standardisé SQL (Structured Query Language) utilisé pour créer et manipuler des bases de données.

La dernière version de MySQL (version 8.0 au moment de la rédaction) prend en charge NoSQLPas seulement SQL ») bases de données documentaires. Il peut être installé sous Linux, macOS et d'autres systèmes d'exploitation de type UNIX, ainsi que Windows.

Télécharger MySQL

  • Télécharger l'édition communautaire MySQL
  • Télécharger MySQL Édition Entreprise

Le logiciel de base de données MySQL est open source, il utilise la GPL (GNU General Public License). Il est important de noter qu'il est proposé en deux éditions différentes : la version open source MySQL Community Server que vous pouvez télécharger, accéder au code source et utiliser gratuitement et la version propriétaire MySQL Enterprise. édition et autres produits commerciaux qui nécessitent un abonnement annuel et incluent un support professionnel et de nombreux autres avantages.

MySQL est utilisé à des fins très diverses, notamment les bases de données Web (utilisation la plus courante), l'entreposage de données, le commerce électronique et les applications de journalisation. C'est l'un des logiciels couramment installés pour configurer un LAMP (Linux + Apache + MySQL + PHP) ou LEMP (Linux + Engine-X + MySQL + PHP ) pile utilisée pour le développement Web et l'hébergement de systèmes de gestion de contenu en ligne tels que WordPress, Magneto, Joomla, Drupal<, et bien d’autres. Outre PHP, il prend également en charge de nombreux autres langages, notamment Perl, Node.js, Python, etc.

Consultez ces guides connexes pour configurer votre application avec la base de données MySQL sous Linux.

  • Comment installer le serveur LAMP sur CentOS 8
  • Comment installer le serveur LEMP sur CentOS 8
  • Comment installer la pile LAMP avec PhpMyAdmin dans Ubuntu 20.04
  • Comment installer LEMP Stack avec PhpMyAdmin dans Ubuntu 20.04
  • Comment installer WordPress avec Apache dans Ubuntu 20.04

Comment fonctionne MySQL ?

Comme la plupart des systèmes de gestion de bases de données, MySQL possède une architecture client-serveur et peut être utilisé dans un environnement en réseau. Le programme serveur réside sur le même système physique ou virtuel où les fichiers de base de données sont stockés et il est responsable de toutes les interactions avec les bases de données.

Divers programmes clients tels que les outils MySQL pour l'administration de bases de données ou toute application écrite dans d'autres langages de programmation peuvent se connecter au serveur et effectuer des requêtes de base de données. Le serveur traite les demandes des clients et renvoie les résultats au client.

Un client peut résider sur le même système que le serveur ou sur un hôte distant et envoyer des requêtes de base de données via un réseau ou une connexion Internet au serveur. Il est important de noter que le serveur MySQL doit être en cours d'exécution pour que les clients puissent s'y connecter.

Principales fonctionnalités de MySQL

Le MySQL utilise une conception de serveur multicouche avec des modules indépendants. Le serveur est multithread, multi-utilisateur, évolutif et conçu de manière robuste pour les systèmes de production critiques et à forte charge. Il fournit des moteurs de stockage transactionnels et non transactionnels et prend en charge l'ajout d'autres moteurs de stockage.

  • MySQL utilise des tables B-tree très rapides avec compression d'index, un système d'allocation de mémoire basé sur des threads très rapide, et exécute des jointures très rapides à l'aide d'une jointure en boucle imbriquée optimisée.
  • Il prend en charge de nombreux types de données tels que les entiers signés/non signés, les types à virgule flottante (float et double), char et varchar, binaire et varbinary, blob et texte, Date, DateTime et timestamp, année, set, enum et OpenGIS spatial. les types.
  • MySQL prend également en charge la redondance des données et la haute disponibilité (HA) via la réplication maître-esclave, le clustering multi-nœuds et la sauvegarde et la récupération/restauration. Il propose un large éventail de types et de stratégies de sauvegarde parmi lesquels vous pouvez choisir les méthodes les mieux adaptées aux exigences de votre déploiement.
  • Ses fonctionnalités de sécurité incluent la gestion des comptes d'utilisateurs et le contrôle d'accès, la vérification basée sur l'hôte, les connexions cryptées, plusieurs composants et plugins (tels que des plugins d'authentification, des plugins de contrôle de connexion, un composant de validation de mot de passe et bien d'autres) qui implémentent la sécurité, ainsi que FIPS. (Federal Information Processing Standards 140-2 (FIPS 140-2)) côté serveur qui s'applique aux opérations cryptographiques effectuées par le serveur.

En outre, vous pouvez également garantir une sécurité supplémentaire en suivant les meilleures pratiques de sécurité MySQL/MariaDB pour Linux. Mais comme toujours, assurez-vous d'avoir mis en œuvre une bonne sécurité du réseau et du serveur, afin de garantir une sécurité complète du serveur de base de données.

Client et outils MySQL

MySQL est livré avec plusieurs programmes clients tels que les utilitaires de ligne de commande populaires : mysql, mysqladmin et mysqldump, pour administrer les bases de données. Pour se connecter au serveur MySQL, les clients peuvent utiliser plusieurs protocoles, par exemple des sockets TCP/IP sur n'importe quelle plate-forme ou des sockets de domaine UNIX sur des systèmes UNIX comme Linux.

Pour connecter et exécuter des instructions MySQL à partir d'un autre langage ou d'un autre environnement, il existe des connecteurs MySQL basés sur des normes (qui fournissent une connectivité au serveur MySQL pour les applications clientes) et des API pour les langages de programmation les plus populaires (pour fournir un accès de bas niveau aux ressources MySQL à l'aide de soit le protocole MySQL classique, soit le protocole X).

Certains des connecteurs et API populaires incluent ODBC (Open Database Connectivity), Java (JDBC – Java Database Connectivity), Python, PHP, Node.js, C++, Perl, Ruby et les instances natives C et MySQL intégrées.

Les articles suivants sur MySQL vous seront utiles :

  • Comment installer la dernière version de MySQL 8 sur Debian 10
  • 15 conseils utiles pour le réglage et l'optimisation des performances MySQL/MariaDB
  • Conseils utiles pour résoudre les erreurs courantes dans MySQL
  • Comment réinitialiser le mot de passe root dans MySQL 8.0
  • Comment changer le port MySQL/MariaDB par défaut sous Linux
  • 4 outils de ligne de commande utiles pour surveiller les performances de MySQL sous Linux