Sélectionnez la version de MySQL et comment connaître la version de MySQL. Sélectionnez la version de MySQL et comment connaître la version de MySQL Comment savoir quelle version de MySQL est installée

  • Sécurité
  • Qualité
  • Prix
  • Fiabilité
  • Simplicité
  • Stabilité
  • Soutien
  • Vitesse
  • Panneau de contrôle

Section d'aide de la FAQ

Examen de l'hébergement vidéo

Comment télécharger un serveur sur FTP

ATTENTION: Il vous suffit de télécharger 3 dossiers ( scripts de filtrage, modes de jeu, fichiers de script) et 1 fichier serveur.cfg, puis écrivez la ligne dans server.cfg (s'il n'y est pas) plugins streamer.so sscanf.so CRP.so mysql.so Vous devez également vous assurer que le mod au format .amx existe dans le dossier gamemodes, et que le le nom du mod est écrit correctement dans server.cfg (config).

Client FileZilla
Entrer hôte Exemple: 194.58.88.74 - se connecter *****- mot de passe******** NE RIEN SAISIR DANS LE CHAMP DU PORT !!!

ATTENTION: S'il n'y a pas de connexion FTP via FileZilla, téléchargez Commandant total et connectez-vous à travers lui !

Commandant total- pour télécharger vos fichiers d'échantillons sur FTP
Entrer hôte Exemple: 194.58.88.74 - se connecter 173104911- mot de passe g1KdN7D3q

Où entrer ? Réponse : exécutez Total Commander > Réseau > Se connecter au serveur FTP > Ajouter, puis entrez vos données comme indiqué dans l'exemple de capture d'écran :

Mod inconnu

Si le champ de votre mode de jeu indique « inconnu », procédez comme suit :
1. Tout d’abord, arrêtez votre serveur
2. Accédez au panneau de configuration dans l'onglet Options du serveur > Paramètres
3.Ajoutez une ligne ci-dessous plugins streamer.so sscanf.so CRP.so mysql.so
Changez le nom des plugins si le mod est inconnu, par exemple : plugins streamer.so sscanf.so CRP.so mysql.so sur plugins streamer2.7.2.so sscanf.so CRP.so mysqlR34.so
*Le dossier plugins est installé initialement par défaut et contient tous les plugins nécessaires.
*Vous pouvez installer n'importe lequel de vos plugins sur FTP, puis les enregistrer dans le panneau de configuration dans la section Paramètres plugin requis pour le serveur.
*Pour compiler et mettre à jour le streamer, utilisez le programme PAWNO
4.Dans un dossier plugins il devrait y avoir des plugins avec l'extension .so pour Linux : sélectionnez le plugin souhaité pour votre serveur et écrivez son nom dans le panneau paramètres dans la ligne plugins EXEMPLE : plugins streamer.so
5.N'oubliez pas que nous utilisons OS Linux, ce qui signifie dans les paramètres du panneau
écrivez la ligne pour les plugins plugins : streamer.so sscanf.so CRP.so avec l'extension .donc sinon votre serveur ne fonctionnera pas correctement.

Pour Système d'exploitation Linux inscrivez-vous dans server.cfg en tant que : plugins streamer.so sscanf.so CRP.so mysql.so antiattack.so
L'un des plugins libmysqlclient.so.15 libmysqlclient.so.16 libmysqlclient_r.so.16 doit être situé dans le dossier du serveur.

Attention : si le serveur fonctionne correctement sous Windows, cela ne veut pas dire qu'il fonctionnera correctement sous Linux.

Que dois-je faire si, après le remplissage, il n'y a plus d'icônes, de maisons, d'entreprises, etc. ?

Écrivez streamer2.5.so dans la configuration, enregistrez et redémarrez le serveur.
Exemple:

plugins streamer2.5.so sscanf.so CRP.so mysql.so regex.so

Comment connaître la version du plugin ?
Sur ordinateur local démarrez le serveur, puis regardez dans le log, la version du plugin y sera indiquée, et enregistrez cette version sur l'hébergement dans la config du serveur.
Exemple:


Plugins de serveur
--------------
Chargement du plugin : streamer.so
*** Streamer Plugin v2.6.1 par Incognito chargé ***

Cela signifie que vous devez spécifier la version streamer2.6.1.so dans la configuration du serveur

Aide - Connecter le mod au serveur mysql

Ouvrez le mod (fichier.PWN) avec le programme PAWNO, précisez vos données depuis la section MYSQL


Exemple:

#define mysql_host "host.site"
#définir mysql_db "s20000"
#define utilisateur_mysql "s20000"
#define mysql_pass "lazyrich"

Après avoir compilé le mod en .AMX et importé la requête SQL dans la base de données

Attention! Si inconnu apparaît pendant le processus de compilation, le mod ne sera pas détecté.
La solution consiste à rechercher un scripteur pour corriger l'erreur.

Pour changer le nom du mod, ou plutôt le paramètre de nom d'hôte, vous devez entrer dans le panneau de configuration du serveur dans la section -Paramètres (il s'agit de la configuration du serveur sever.cfg) et dans la ligne du nom d'hôte à droite, écrivez le nom de votre serveur. , par exemple : *** Notre serveur est le meilleur * **
Enregistrez les données dans le panneau et assurez-vous de redémarrer le serveur pour que les nouveaux paramètres prennent effet.
Si votre nom n'a pas changé après tout ce qui précède, vous devez alors changer le nom dans le mod lui-même avec le programme PAWNO, et c'est une histoire complètement différente disponible sur Internet.

Serveur.cfg









requête 1 – Nous ne changeons pas.

maxnpc 10 – Nous ne changeons pas.
onfoot_rate 40 – Ne changez pas.
incar_rate 40 – Nous ne changeons pas.
Weapon_rate 40 – Ne changez pas.




- ligne standard de plugins pour la configuration samp

Comment se donner un compte administrateur

Allez sur le serveur dans le dossier fichiers de script, trouvez le vôtre ENTAILLE
exemple : Aldo_Mangano, ouvrez le fichier à l'aide du Bloc-notes,
trouver la ligne Niveau administrateur spécifiez 1999, puis enregistrez le fichier et redémarrez le serveur.

Serveur.cfg

echo Exécution de la configuration du serveur…
lanmode 0 – 0 – jeu sur Internet, 1 – jeu sur un réseau local.
rcon_password 123 – « 123 » – mot de passe du panneau d'administration sur le serveur.
maxplayers 50 – Comme vous l’avez déjà compris, le nombre maximum est celui de joueurs. Dans la version 0.3a, maximum 500.
port 7777 – Le port affiché à la fin de l'adresse de votre serveur. (Sur l'hébergement il s'expose)
hostname NameServer – Le nom de votre futur serveur.
mode gamemode0 – Mod de jeu pour votre futur serveur. Plus d'informations à ce sujet ci-dessous...
annoncer 0 – 1 le serveur est visible dans l'onglet Internet / 0 n'est pas visible.
requête 1 – Nous ne changeons pas.
site weburl – Site serveur, si disponible.
maxnpc 10 – Nous ne changeons pas.
onfoot_rate 40 – Ne changez pas.
incar_rate 40 – Nous ne changeons pas.
Weapon_rate 40 – Ne changez pas.
stream_distance 300.0 – Ne changez pas.
stream_rate 1000 – Ne changez pas.
password - your_password (Serveur avec un mot de passe)
langue Russie - carte pour 0.3.7 à la place de la carte
plugins streamer.so sscanf.so CRP.so mysql.so regex.so dc_cmd.so CVector.so nativechecker.so- ligne standard de plugins pour la configuration samp

Tout d’abord, vous devez décider si vous souhaitez la dernière version expérimentale ou la dernière version stable :

  • Si vous êtes sur le point d'utiliser MySQL pour la première fois ou si vous essayez de porter MySQL sur un système qui n'a pas de distribution binaire, nous vous recommandons généralement de commencer par la version stable (actuellement la version 3.23). Veuillez garder à l'esprit que toutes les versions de MySQL sont testées à l'aide de benchmarks MySQL et d'une suite de tests complète avant chaque version (même pour les versions expérimentales).
  • Si vous travaillez avec ancien système et que vous souhaitez le mettre à niveau, mais que vous souhaitez éviter d'éventuelles incohérences lors de la mise à niveau, vous devez alors le remplacer par la version la plus récente dans la même branche que vous utilisez (où seul le dernier numéro de version est plus récent que le vôtre). Dans ces versions, nous essayons de corriger uniquement les erreurs critiques et d'apporter uniquement de petites modifications relativement sûres.

Deuxièmement, vous devez décider si vous souhaitez utiliser une distribution source ou une distribution binaire. Dans la plupart des cas, il est préférable d'opter pour une distribution binaire s'il en existe une pour votre plateforme, car elle est généralement plus facile à installer qu'une distribution source.

L'installation à partir des sources peut être préférable dans les cas suivants :

  • Si vous devez installer MySQL dans un emplacement explicitement spécifié (les livraisons binaires standard sont « prêtes à fonctionner » n'importe où, mais vous aurez peut-être besoin d'encore plus de flexibilité).
  • Pour répondre aux différents besoins des utilisateurs, nous fournissons deux versions binaires différentes : l'une compilée avec des gestionnaires de tables non transactionnelles (code binaire petit et rapide) et la seconde configurée avec les capacités d'extensibilité les plus importantes, telles que les tables sensibles aux transactions. Les deux versions sont compilées à partir du même code source. Tous les clients natifs MySQL peuvent se connecter aux deux versions. La distribution binaire de la version MySQL Extended est marquée du suffixe -max et est configurée avec les mêmes options que mysqld-max . Voir section 4.7.5 mysqld-max, un serveur mysqld étendu. Si vous souhaitez utiliser le package MySQL-Max RPM, vous devez d'abord installer le package MySQL RPM standard.
  • Si vous devez configurer mysqld avec des fonctionnalités supplémentaires qui ne sont pas disponibles dans les distributions binaires standard. Vous trouverez ci-dessous une liste des options supplémentaires les plus courantes que vous souhaiterez peut-être utiliser :
    • --avec-innodb
    • --avec-berkeley-db
    • --avec-raid
    • --avec-libwrap
    • --with-named-z-lib (Ceci est fait pour certaines distributions binaires)
    • --with-debug[=complet]
  • Par défaut, une distribution binaire est généralement compilée avec la prise en charge de tous les encodages et doit fonctionner sur différents processeurs de la même famille de processeurs. Si vous souhaitez un serveur MySQL plus rapide, vous pouvez le recompiler pour prendre en charge uniquement le codage dont vous avez besoin, utiliser un meilleur compilateur (comme pgcc) ou utiliser des options de compilateur mieux optimisées pour votre processeur.
  • Si vous trouvez un bug et le signalez à l'équipe de développement MySQL, vous devriez recevoir un correctif qui doit être appliqué à la distribution du code source pour corriger le bug.
  • Si vous souhaitez lire (et/ou modifier) ​​le code source de MySQL (en C et C++), vous devez disposer d'une distribution de code source. Le code source est toujours la meilleure documentation. Les distributions sources contiennent également plus de tests et d'exemples que les distributions binaires.

Le système de nommage de MySQL utilise des numéros de version, composés de trois chiffres et d'un suffixe. Par exemple, la version mysql-3.21.17-beta est interprétée comme suit :

  • Le premier chiffre (3) décrit le format de fichier. Toutes les versions 3 ont le même format de fichier.
  • Le deuxième chiffre (21) représente le niveau de sortie. Il y a généralement le choix entre deux possibilités. L’une représente la version de la branche stable (actuellement 23) et la seconde représente la branche expérimentale (actuellement 4.0). Généralement, les deux branches sont stables, mais la version expérimentale peut présenter quelques bizarreries, manquer de documentation sur les nouvelles fonctionnalités ou ne pas être compilée sur certains systèmes.
  • Le troisième numéro (17) est le numéro de version au sein du niveau de version. Ce nombre augmente à chaque nouvelle distribution. Il est généralement judicieux de choisir le plus dernière version pour le niveau de version sélectionné.
  • Le suffixe (bêta) indique le niveau de stabilité d'une version donnée. Les suffixes suivants sont possibles :
    • alpha indique que la version contient de grandes sections de nouveau code qui n'est pas testé à 100 %. Les erreurs trouvées (généralement il n'y en a pas) doivent être documentées dans la section « Actualités ». Voir Voir la section D Historique des modifications et mises à jour de MySQL. La plupart des versions alpha incluent également de nouvelles commandes et extensions. Lorsque vous travaillez sur une version alpha, il peut y avoir un développement actif impliquant des changements de code importants, mais tout est testé avant la sortie. Toute version de MySQL doit être exempte de bogues connus.
    • bêta signifie que tout le nouveau code a été testé. Aucune nouvelle propriété susceptible de casser l'ancien code n'est ajoutée. Il ne devrait y avoir aucune erreur connue. Une version passe d'alpha à bêta lorsqu'aucun bug critique n'a été signalé dans la version alpha depuis au moins un mois et que nous ne prévoyons pas d'ajouter de nouvelles fonctionnalités qui pourraient réduire la fiabilité des commandes précédentes.
    • gamma est une version bêta presque terminée et qui semble bien fonctionner. Seuls des correctifs mineurs sont ajoutés. C'est exactement ce que de nombreuses autres sociétés appellent une version.
    • S'il n'y a pas de suffixe, cela signifie que cette version a fonctionné sur de nombreux systèmes différents. systèmes informatiques aucun message d'erreur, à l'exception des erreurs spécifiques à la plateforme ; pour cela, seule la correction des erreurs critiques est autorisée. C'est pourquoi nous appelons cette version stable.

Toutes les versions de MySQL sont soumises à nos tests et benchmarks standard pour garantir leur fiabilité à utiliser. Étant donné que les tests standard sont périodiquement étendus pour inclure des tests sur les nouveaux bogues découverts et les situations qui pourraient les provoquer, la suite de tests s'améliore au fil du temps.

Veuillez noter que toutes les versions sont testées avec au moins les tests suivants :

Suite de tests internes La suite fait partie du système de production du client. Cet ensemble comprend de nombreuses tables contenant des centaines de mégaoctets de données. Suite de tests de performances MySQL Ces tests s'exécutent sur un ensemble de requêtes couramment utilisées. Ils vous permettent également de voir si le dernier package d’optimisation rend réellement votre code plus rapide. Voir la rubrique. crash-me test Le test tente de déterminer quel

fonctionnalité prend en charge la base de données et quelles sont ses capacités et ses limites. Voir la section 5.1.4 La suite MySQL Benchmark. Il y a un autre test. Cela réside dans le fait que nous utilisons les dernières

Version MySQL

dans notre environnement de production interne sur au moins une machine. Nous disposons de plus de 100 gigaoctets de données pour travailler avec cette version. Sortie de la version stable de MySQL version 5.6. Beaucoup de travail a été fait dans la nouvelle version. Les principaux efforts visaient à améliorer les performances, l’évolutivité et la flexibilité. Le moteur InnoDB a subi des changements importants. Les principales améliorations incluent : la prise en charge des outils de recherche en texte intégral, la possibilité d'accéder aux données via l'API memcached, des performances accrues lors de l'enregistrement intensif des données et une évolutivité accrue pendant le traitement.

grand nombre

demandes simultanées.

Une autre innovation de la version 5.6 est la possibilité d'effectuer des opérations DDL (Data Definition Language) sans mettre le SGBD hors ligne et sans interrompre l'accès aux tables. Les administrateurs peuvent effectuer des opérations liées à la réinitialisation du schéma, à l'ajout ou à la suppression de colonnes de données ou au renommage de colonnes sans arrêter le SGBD. Auparavant, ces fonctionnalités n'étaient disponibles que dans les produits NoSQL.

  • Par rapport à la version 5.5, le nouveau produit peut désormais fonctionner sur des serveurs à 48 cœurs, contre 32 cœurs dans MySQL 5.5.
  • Il est désormais possible de créer des index de texte intégral pour une organisation dans InnoDB recherche rapide par formes de mots parmi le contenu textuel stocké dans les tables InnoDB. Auparavant, la recherche en texte intégral n'était disponible que pour les tables MyISAM.
  • Améliorer l'efficacité de l'optimiseur de requêtes, optimiser le processus de sélection de l'ensemble de valeurs résultant, de tri et d'exécution de la requête. Les nouvelles optimisations Index Condition Pushdown (ICP) et Batch Key Access (BKA) permettent jusqu'à 280x débit répondre à certaines demandes. L'efficacité de l'exécution de requêtes telles que « SELECT... FROM single_table... ORDER BY non_index_column LIMIT N ; » Les performances des requêtes « SELECT... LIMIT N » qui affichent seulement une partie des lignes d'un grand échantillon ont été améliorées.
  • Les outils de diagnostic de l'optimiseur ont été étendus et la prise en charge d'EXPLAIN a été ajoutée pour les opérations INSERT, UPDATE et DELETE. Les résultats EXPLAIN peuvent désormais être générés au format JSON. Le nouveau mode de trace de l'optimiseur vous permet de suivre chaque décision prise lors de l'optimisation des requêtes.
  • Optimisations supplémentaires pour l'exécution de sous-requêtes, dans lesquelles les requêtes imbriquées de la forme « SELECT... FROM table1 WHERE... IN (SELECT... FROM table2 ...)) » sont traduites en une représentation plus optimale à l'étape avant que la requête ne soit directement exécutée, par exemple, remplacée par un JOIN plus efficace.
  • Extension de l'implémentation du système de diagnostic PERFORMANCE_SCHEMA, qui fournit des outils de bas niveau pour suivre l'exécution des requêtes et divers événements lors du fonctionnement du SGBD. PERFORMANCE_SCHEMA fournit un aperçu détaillé des goulots d'étranglement dans les requêtes de longue durée, ainsi que des statistiques récapitulatives regroupées par requête, thread, utilisateur, hôte et objet.
  • La mise en œuvre du moteur InnoDB a été améliorée, il y a une augmentation des performances lors de l'exécution des transactions et pendant l'activité avec une prédominance des opérations de lecture de données - dans certaines situations, l'accélération atteint 230 %.
  • Mode de réplication différée, qui permet de répliquer les données non pas immédiatement, mais avec un certain délai, ce qui permet d'assurer une protection contre les erreurs de l'opérateur (par exemple, suppression accidentelle du contenu de la table).
  • Augmentation de la taille maximale des fichiers avec les journaux de modifications (InnoDB Redo Log) de 4 Go à 2 To.
  • Améliorations de la sécurité : prise en charge de la spécification des paramètres d'authentification dans le fichier .mylogin.cnf sous forme cryptée ; ajout du plugin sha256_password pour stocker les hachages de mots de passe à l'aide de l'algorithme SHA-256 ; ajouter un champ avec le délai d'expiration du mot de passe à la table mysql.user ; nouvelle fonction SQL VALIDATE_PASSWORD_STRENGTH() pour évaluer la force du mot de passe.
  • Prise en charge de l'exécution du serveur en mode lecture seule (option --innodb-read-only, InnoDB uniquement).
  • Prise en charge de la spécification de fractions de secondes dans les fonctions TIME, DATETIME et TIMESTAMP pour spécifier les microsecondes.
  • Prise en charge des options "--log", "--log-slow-queries", "--one-thread", "--safe-mode", "--skip-thread-priority", "--table- " Le cache a été interrompu".
Vous pouvez en savoir plus sur les innovations de MySQL (pour système de gestion de base de données relationnelle gratuit) - il s'agit d'un serveur de base de données multithread compact qui se caractérise par une vitesse élevée, une stabilité et une facilité d'utilisation.

Initialement développé par TcX pour résoudre des problèmes internes - le traitement le plus rapide possible de grandes bases de données. Utilisé en interne depuis 1996 sur un serveur comportant plus de 40 bases de données contenant 10 000 tables, dont plus de 500 comportent plus de 7 millions de lignes.

Aujourd'hui, MySQL est développé et pris en charge par Oracle Corporation, qui a acquis Sun Microsystems le 27 janvier 2010, après quoi elle a inclus MySQL dans sa gamme de produits. Auparavant (26 février 2008), Sun Microsystems avait payé 1 milliard de dollars pour acheter MySQL AB. Le produit est distribué à la fois sous la licence publique générale GNU et sous sa propre licence commerciale. De plus, les développeurs créent des fonctionnalités à la demande des utilisateurs sous licence ; c'est grâce à cette commande que le mécanisme de réplication est apparu dans presque les premières versions.

MySQL est le plus solution optimale pour les petites et moyennes applications. Les sources du serveur sont compilées sur de nombreuses plateformes. Les capacités du serveur sont pleinement démontrées sur les serveurs Unix, où le multithreading est pris en charge, ce qui permet une augmentation significative des performances. Inclus dans les serveurs WAMP, AppServ, LAMP et dans les versions de serveurs portables Denver, XAMPP. MySQL est généralement utilisé comme serveur accessible par des clients locaux ou distants, mais la distribution comprend une bibliothèque principale qui permet à MySQL d'être inclus dans des programmes autonomes.
Grâce à la prise en charge d'un grand nombre de types de tables, MySQL est assez flexible. Les utilisateurs peuvent sélectionner à la fois les tables de recherche en texte intégral MyISAM et les tables de transactions InnoDB individuelles. De plus, MySQL est livré avec un type de table EXAMPLE spécial qui démontre les principes de création de nouveaux types de table. Grâce à cela, ainsi qu'à l'architecture ouverte et aux licences GPL, il est possible d'ajouter de nouveaux types de tables à MySQL presque à l'infini.

Le serveur MySQL est gratuit pour une utilisation non commerciale. Sinon, vous devez acheter une licence dont le coût actuel est de 190 EUR.

Diverses branches de code ont été créées par la communauté des développeurs MySQL, telles que Drizzle, OurDelta, Percona Server et MariaDB. Toutes ces succursales existaient déjà au moment du rachat de Sun par Oracle.

L'émergence de MySQL

Avant 1994, le marché était principalement constitué de bases de données conçues pour gérer de grands volumes de données et des relations complexes, qui avaient des capacités diverses, mais nécessitaient en même temps d'importantes ressources informatiques. Ces bases de données incluent Oracle, Informix et Sybase. Il n'existait aucun SGBD prenant en charge SQL et étant abordable en même temps.

Les grandes entreprises et les universités pouvaient se permettre d'acheter des systèmes informatiques puissants, tandis que les petites organisations et les utilisateurs utilisaient des bases de données de bureau faibles telles que Postgres, qui utilisaient une variante du langage QUEL (PostQUEL), mais qui nécessitaient malheureusement les mêmes ressources. ses analogues, mais n'a pas apporté d'avantage en utilisant SQL comme langage de requête.

Puis un certain David Hughes (qui deviendra plus tard connu sous le nom de Bamby, après avoir publié ses travaux sur Internet), qui rédigeait alors une thèse à la Bond University (Australie), commença à développer le projet Minerva Network Management System - un système de surveillance et de contrôle système à partir d’un ou plusieurs points sur un groupe de systèmes. L'élément principal du projet devait être une base de données permettant de stocker des informations sur tous les ordinateurs du réseau. Hughes a d'abord décidé d'utiliser Postgres. Cependant, des collègues ont suggéré d'utiliser SQL comme langage de requête pour Minerva, car SQL est le langage de requête le plus courant et, en l'utilisant, Minerva pourrait devenir disponible partout sur la planète où il existe un SGBDR prenant en charge SQL. Ce fut l’impulsion pour la création de MySQL.

Hughes a décidé de créer lui-même un programme capable de traduire SQL en PostQUEL en temps réel. Il a appelé son programme miniSQL, ou mSQL. Il a intercepté les instructions SQL envoyées par Minerva, les a converties en PostQUEL et a envoyé le résultat à Postgres. Pendant un certain temps, cette situation convenait à Hughes. Cependant, en raison de la croissance continue de Minerva, il est devenu évident qu'avec les ressources limitées dont il dispose, ni Postgres ni aucun autre grand SGBDR ne seraient en mesure de prendre en charge le petit ensemble de caractéristiques dont il a besoin. Par exemple, afin de mettre en œuvre la possibilité de connecter simultanément Minerva à plusieurs bases de données à la fois, Postgres nécessitait le lancement simultané de plusieurs instances du serveur de base de données.

Pour résoudre ces problèmes, Hughes a analysé le travail de Minerva, et il s'est avéré que les principales requêtes générées par Minerva étaient : « insérer », « supprimer » et « sélectionner ». Étant donné que Hughes faisait déjà appel à mSQL pour la traduction SQL, il lui suffisait de créer un serveur de base de données adapté à ses besoins.

Et c’est là qu’entre en jeu Michael Monty Widenius, considéré comme l’inventeur de MySQL. En 1979, il développe un outil de gestion de bases de données appelé UNIREG. UNIREG a ensuite été étendu pour prendre en charge des bases de données plus volumineuses et a été réécrit en plusieurs langues. En 1994, TcX a commencé à développer des applications www en utilisant UNIREG. Cependant, en raison d'une surcharge importante, UNIREG n'a pas pu être utilisé avec succès pour générer dynamiquement des pages Web. Par conséquent, Widenius a décidé de contacter l'auteur de mSQL, Hughes, pour lui suggérer de connecter mSQL au gestionnaire ISAM B+ dans UNIREG. Cependant, Hughes a bien progressé sur la voie de mSQL 2 et l'entreprise a décidé de créer un serveur de base de données adapté à ses besoins.

TcX a pris UNIREG comme base et a utilisé des utilitaires tiers pour mSQL, a écrit une API pour son système, qui était initialement très similaire à l'API pour mSQL. Cependant, cela permettait à tout utilisateur mSQL souhaitant migrer vers le serveur de base de données TcX d'apporter des modifications mineures à son code. Le code source de la nouvelle base de données était totalement original. Ainsi, en mai 1995, l'entreprise disposait d'une base de données MySQL 1.0 répondant pleinement aux besoins de l'entreprise.

En 1995, David Oxmark, qui travaille pour Detron HB et est un partenaire commercial de l'entreprise, a commencé à inviter activement TcX à distribuer le SGBD MySQL via Internet. David a même participé au travail sur la documentation. En conséquence, la version 3.11.1 du SGBD MySQL a été publiée en 1996 en tant que distribution binaire pour exécuter Linux et Solaris. Aujourd'hui, MySQL fonctionne sur de nombreuses plates-formes et est disponible en version binaire et source.

Aujourd'hui, MySQL est devenu l'outil le plus populaire pour travailler avec des bases de données en PHP. Cela est principalement dû au fait que le support de ce serveur est inclus dans la distribution PHP. De plus, la popularité de MySQL est grandement contribuée bonnes caractéristiques et une large gamme de fonctions d'interface standard extrêmement faciles à utiliser.

La politique de licence de MySQL est plus flexible que celle des autres serveurs de bases de données. Essentiellement, MySQL est gratuit, sauf si vous avez l'intention de le vendre ou de vendre des services construits avec lui.

MySQL est hautement portable et peut être utilisé aussi bien sur des systèmes d'exploitation commerciaux tels que Solaris, Irix ou Windows, que sur n'importe quel matériel jusqu'à des serveurs puissants. De plus, comme ses concurrents plus chers, il peut gérer de grandes bases de données contenant des millions d’enregistrements.

Nom et logo

Quant au nom, il existe plusieurs versions de son origine. La première version dit que l'utilisation du préfixe « my » s'explique par le fait que dans TcX le catalogue de base, ainsi qu'un nombre important de bibliothèques et d'utilitaires, ont été désignés par un tel préfixe pendant dix ans. Il était donc logique de l’utiliser dans ce cas.

La deuxième version, plus sentimentale, est basée sur le fait que Michael Monty Widenius a nommé le nouveau produit MySQL d'après le nom de sa fille - My. Le nom de la fille de Videnius est bien Mon, et lui-même ne réfute ni la première ni la deuxième version.

Le logo du dauphin de MySQL s'appelle "Sakila". Il a été choisi parmi une longue liste de « noms de dauphins » suggérés par les utilisateurs. Le nom « Sakila » a été soumis par le développeur Open Source Ambrose Twebaze.

Fonctionnalités MySQL

La principale caractéristique de MySQL est qu'il prend en charge le langage Requêtes SQL dans la norme ANSI 92, et possède en outre de nombreuses extensions de cette norme que l'on ne trouve dans aucun autre système de gestion de bases de données.
Une courte liste de fonctionnalités MySQL :

1. Le fonctionnement efficace d'un nombre illimité d'utilisateurs travaillant simultanément avec la base de données est pris en charge.

2. Le nombre de lignes dans les tableaux peut atteindre 50 millions.

3. L'exécution des commandes la plus rapide possible. Il existe une opinion selon laquelle MySQL est le serveur le plus rapide qui existe.

4. Système de sécurité simple et efficace.

Exemple de graphique dans MySQL


Inconvénients de MySQL

Cependant, MySQL présente également certains inconvénients. Cela est principalement dû au fait que pour atteindre une vitesse aussi élevée, les développeurs ont dû sacrifier certaines exigences des systèmes de gestion de bases de données relationnelles.

Il manque donc à MySQL :

1. Prise en charge des requêtes imbriquées telles que SELECT * FROM table1 WHERE id IN (SELECT id FROM table2) (dans les versions antérieures).

2. La prise en charge des transactions n'est pas implémentée. Au lieu de cela, il est proposé d'utiliser LOCK/UNLOCK TABLE.

3. Il n'y a pas de support pour les clés étrangères.

4. Il n'y a aucune prise en charge des déclencheurs et des procédures stockées.

5. Pas de prise en charge des vues (VIEW). En version 3.23 il est prévu de pouvoir créer des vues.

Selon les créateurs, ce sont les points 2 à 4 qui ont permis d'atteindre des performances élevées. Leur mise en œuvre réduit considérablement la vitesse du serveur. Ces fonctionnalités ne sont pas critiques lors de la création d'applications Web, ce qui, combinées à des performances élevées et à un prix bas, a permis au serveur de devenir très populaire.

Licence

MySQL est sous double licence. MySQL peut être distribué selon les termes de la GPL. Cependant, selon les termes de la GPL, si un programme inclut codes sources MySQL, il devrait alors également être distribué sous licence GPL. Cela peut être en contradiction avec les plans des développeurs qui ne souhaitent pas ouvrir leurs programmes en source libre. Pour de tels cas, une licence commerciale est fournie, qui fournit également un service de haute qualité.

Plateformes

MySQL porté sur grand nombre plates-formes : AIX, BBSDi, FreeBSD, HP-UX, Linux, Mac OS X, NetBSD, OpenBSD, OS/2 Warp, SGI IRIX, Solaris, SunOS, SCO OpenServer, UnixWare, Tru64, Windows 95, Windows 98, Windows NT, Windows 2000, Windows XP, Serveur Windows 2003, WinCE, Windows Vista et Windows 7. Il existe également un port MySQL vers OpenVMS. Il est important de noter que sur le site officiel du SGBD, non seulement les codes sources sont fournis en téléchargement gratuit, mais également les modules exécutables du SGBD MySQL prêts à l'emploi, compilés et optimisés pour des systèmes d'exploitation spécifiques.

Langages de programmation

MySQL dispose d'une API pour Delphi, C, C++, Eiffel, Java, Lisp, Perl, PHP, Python, Ruby, Smalltalk, Component Pascal et Tcl, des bibliothèques pour les langages de la plate-forme .NET, et prend également en charge ODBC via le pilote ODBC MyODBC.

Historique des versions

La première version interne de MySQL a eu lieu le 23 mai 1995 [source non précisée 1224 jours].
La version pour les systèmes Windows (Windows 95 et NT) est sortie le 8 janvier 1998.
Version 3.23 : version bêta en juin 2000, sortie en janvier 2001.
Version 4.0 : bêta en août 2002, sortie en mars 2003.
Version 4.1 : bêta en juin 2004, sortie en octobre 2004.
Version 5.0 : bêta en mars 2005, sortie en octobre 2005.
Version 5.1 : début du développement en novembre 2005, sortie en novembre 2008.
Version 5.4 : bêta en avril 2009, n'est pas sortie.
Version 5.5 : sortie décembre 2010.
Version 5.6 : en développement (5.6.6 m9 7 août 2012).

Historique des versions



MySQL 4.0

Bien que la version 4.0 soit obsolète, elle est encore largement adoptée. Principales caractéristiques de cette version :

Implémentation presque complète d'ANSI SQL-99, plus extensions ;
compatibilité multiplateforme ;
types de tables indépendantes (MyISAM pour une lecture rapide, InnoDB pour les transactions et intégrité référentielle);
transactions;
Prise en charge SSL ;
demande de mise en cache ;
réplication : un serveur principal par esclave, plusieurs esclaves par tête ;
indexation et recherche en texte intégral à l'aide du type de table MyISAM ;
bibliothèque de bases de données implémentée ;
Prise en charge d'Unicode (UTF-8) ;
Tables InnoDB conformes à l'ACID ;
un serveur intégré qui permet à MySQL d'être inclus dans des applications autonomes.

Requêtes imbriquées et tables dérivées.
nouveau système encodages et tris ;
un protocole client-serveur plus rapide et plus flexible avec prise en charge des requêtes préparées, garantissant leur exécution optimale ;
nouveau programme installations et réglages pour Microsoft Windows et Linux ;
connexions client-serveur sécurisées via OpenSSL ;
bibliothèque hautement optimisée qui peut être utilisée dans programmes tiers;
prise en charge complète d'Unicode (UTF-8 et UCS2) ;
types de données spatiales SIG standard pour stocker des informations géographiques ;
système de recherche et d'aide en texte intégral amélioré.

MySQL 5.0

La version MySQL 5.0 a été publiée le 24 octobre 2005. Cette version a des fonctionnalités considérablement étendues qui placent MySQL au même niveau que les SGBD commerciaux. Si auparavant le SGBD MySQL était accusé de prise en charge insuffisante de la norme SQL, alors avec l'avènement de la cinquième version de cette base de données populaire, une prise en charge presque complète de la norme SQL est apparue. MySQL 5.0 contient les innovations suivantes :
procédures et fonctions stockées ;
gestionnaires d'erreurs ;
curseurs;
déclencheurs ;
spectacles;
diagramme d'informations(le soi-disant dictionnaire système contenant des métadonnées).

MySQL 5.1

MySQL 5.1 poursuit le chemin vers le standard SQL:2003. MySQL 5.1 contient les innovations suivantes :

Le partitionnement est la possibilité de diviser une grande table en plusieurs parties situées sur différents systèmes de fichiers, sur la base d'une fonction définie par l'utilisateur. Dans certaines conditions, cela peut permettre une augmentation significative des performances et, en outre, faciliter la mise à l'échelle des tableaux.
Le comportement d'un certain nombre d'opérateurs a été modifié pour assurer une meilleure compatibilité avec le standard SQL2003.
Réplication basée sur les lignes, dans laquelle seules les informations sur les lignes de table réellement modifiées seront écrites dans le journal binaire au lieu du texte de requête d'origine (et éventuellement lent). La réplication de lignes ne peut être utilisée que pour certains types de requêtes SQL, en termes MySQL : réplication mixte.
Planificateur intégré de tâches lancées périodiquement. En termes de syntaxe, l'ajout d'une tâche est similaire à l'ajout d'un déclencheur à une table ; en idéologie, c'est similaire à crontab.
Ensemble supplémentaire de fonctions pour le traitement XML, implémentation du support XPath.
Nouveaux utilitaires de diagnostic des problèmes et d’analyse des performances. Les capacités de gestion du contenu des fichiers journaux ont été étendues ; les journaux peuvent désormais être enregistrés dans les tables general_log et slow_log. L'utilitaire mysqlslap vous permet de tester en charge la base de données et d'enregistrer le temps de réponse pour chaque requête.
Pour simplifier l'opération de mise à jour, l'utilitaire mysql_upgrade a été préparé, qui vérifiera la compatibilité de toutes les tables existantes avec nouvelle version, et procédera aux ajustements appropriés si nécessaire.
MySQL Cluster est désormais publié en tant que produit distinct basé sur le stockage MySQL 5.1 et NDBCLUSTER.
Des changements importants dans Travail MySQL Cluster, comme par exemple la possibilité de stocker des données tabulaires sur disque.
Revenez à l'utilisation de la bibliothèque libmysqld intégrée, qui manquait dans MySQL 5.0.
Une API pour les plugins qui vous permet de charger des modules tiers qui étendent des fonctionnalités (telles que la recherche en texte intégral) sans redémarrer le serveur.
Implémentation d'un analyseur de recherche en texte intégral sous forme de plug-in.
Nouveau type de table Maria (clone résistant aux chocs de MyISAM).

Type de table Maria

Maria (à partir de la version 5.2.x - Aria) - une version étendue du stockage MyISAM, avec l'ajout d'outils pour maintenir l'intégrité des données après un crash.
Principaux avantages de Maria :

En cas de crash, les résultats de l'opération en cours sont annulés ou remis à l'état avant la commande LOCK TABLES. Mise en œuvre via des opérations de journalisation.
Possibilité de restaurer l'état à partir de n'importe quel point du journal des opérations, y compris la prise en charge de CREATE/DROP/RENAME/TRUNCATE. Peut être utilisé pour créer des copies de sauvegarde, via une copie périodique du journal des transactions.
La prise en charge de tous les formats de colonnes MyISAM a été étendue avec un nouveau format « lignes dans bloc » qui utilise une méthode de stockage de données basée sur les pages dans laquelle les données des colonnes peuvent être mises en cache.
A l'avenir, deux modes seront implémentés : transactionnel et sans réflexion dans le journal des transactions, pour les données non critiques.
La taille de la page de données est de 8 Ko (dans MyISAM 1 Ko), ce qui permet des performances plus élevées pour les index sur des champs de taille fixe, mais plus lentes dans le cas d'indexation de clés de longueur variable.

MySQL 5.5

La branche MySQL 5.5 est basée sur la série MySQL 5.4 inédite et contient un certain nombre d'améliorations significatives liées à une évolutivité et des performances accrues, notamment :
Utilisation du moteur InnoDB par défaut.
Prise en charge d'un mécanisme de réplication semi-synchrone basé sur des correctifs vers InnoDB de Google.
Fonctionnalité de partitionnement de données améliorée. Syntaxe avancée pour diviser de grandes tables en plusieurs parties situées sur des systèmes de fichiers (partitionnement). Ajout des opérations RANGE, LIST et de la méthode d'optimisation « partition pruning ».
Un nouveau mécanisme pour optimiser les requêtes imbriquées et les opérations JOIN.
Le système de verrouillage interne a été repensé.
Des correctifs Google ont été intégrés pour optimiser le fonctionnement d'InnoDB sur les processeurs avec un grand nombre noyaux.

MySQL 6.0

La version MySQL 6.0 a été gelée au stade des tests alpha. Initialement, il a été décidé de créer la version 5.2 ; cette version a rapidement été renommée 6.0. Cependant, les informations ultérieures sur MySQL 6.0 ont disparu du site et les développeurs se sont concentrés sur la version 5.5 et la version ultérieure 5.6.
L'une des principales innovations de la version 6.0 était prévue pour être un nouveau type de table Falcon, développé pour remplacer potentiellement InnoDB d'Innobase, acquis par Oracle. Dans le cadre du rachat de Sun Microsystems par le même Oracle en 2010, le sort de Falcon reste incertain.

Caractéristiques

La taille maximale des tables dans MySQL 3.22 peut atteindre 4 Go, dans les versions ultérieures taille maximale jusqu'à 8 millions de To (263 octets).
La taille d'une table est limitée par son type. En général, le type MyISAM est limité par une limite de taille de fichier de système de fichiers système opérateur. Par exemple, en NTFS, cette taille peut théoriquement atteindre 32 exaoctets. Dans le cas d'InnoDB, une table peut être stockée dans plusieurs fichiers représentant un seul tablespace. La taille de ce dernier peut atteindre 64 téraoctets.

Contrairement à MyISAM, InnoDB a une limite significative sur le nombre de colonnes pouvant être ajoutées à une seule table. La taille de page mémoire par défaut est de 16 kilo-octets, dont 8 123 octets sont alloués aux données. La taille d'un pointeur vers des champs dynamiques est de 20 octets. Ainsi, lorsque vous utilisez le format de ligne dynamique (ROW_FORMAT=DYNAMIC), une table peut accueillir un maximum de 409 colonnes de blob ou de texte.

À partir de la version 4.1, un nouveau système d'encodage et de tri a été introduit dans le SGBD MySQL. Lors de l'utilisation du codage Windows-1251, avant d'exécuter des instructions SQL, vous devez configurer le codage de connexion à l'aide des opérateurs :

SET caractère_set_client="cp1251";
SET caractère_set_results="cp1251";
SET caractère_set_connection="cp1251";

Ces trois instructions équivalent à appeler une seule instruction :

DÉFINIR LES NOMS "cp1251"

La variable caractère_set_client définit le codage des données envoyées par le client, la variable caractère_set_results définit le codage des données envoyées au client, la variable caractère_set_connection définit le codage dans lequel les informations reçues du client sont converties avant d'exécuter la demande sur le serveur.

Lorsque vous utilisez UTF-8 Unicode, cette instruction ressemble à ceci :
FIXER LES NOMS "utf8"

Le codage ISO 8859-5 n'est pas pris en charge.