Différences
Ci-dessous, les différences entre deux révisions de la page.
Révision précédente | |||
mysql [2018/08/03 03:57] 127.0.0.1 modification externe |
mysql [2019/11/15 09:51] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | ====== Le serveur MySQL ====== | ||
- | ===== Présentation ===== | ||
- | |||
- | MySQL est un système de gestion de base de données (SGBD). Il fait partie des logiciels de gestion de base de données les plus utilisés au monde, autant par le grand public que par des professionnels. | ||
- | |||
- | Le couple PHP/MySQL est très utilisé par les sites Web et proposé par la majorité des hébergeurs Web comme chez FranceServ Hébergement. | ||
- | |||
- | Depuis la version 5, il est possible d' | ||
- | |||
- | ===== Les moteurs MySQL disponibles ===== | ||
- | |||
- | Chez FranceServ Hébergement, | ||
- | |||
- | - MyISAM : moteur par défaut de MySQL. Il est le plus simple à utiliser et à mettre en œuvre. Il utilise plusieurs fichiers qui grandissent au fur et à mesure que la base grossit. Il ne supporte pas les transactions, | ||
- | - InnoDB : moteur créé et maintenu par InnoBase. Il gère les transactions et les clefs étrangères (et donc une gestion d' | ||
- | |||
- | ===== Se connecter au serveur MySQL depuis son site ===== | ||
- | |||
- | Les informations pour se connecter à la base de données sont disponibles dans l' | ||
- | |||
- | Pour vous connecter à une base de données, il y a quatre paramètres à renseigner : | ||
- | |||
- | - L' | ||
- | - L' | ||
- | - Le mot de passe : (le mot de passe correspondant à l' | ||
- | - Le nom de la base de données : (exemple : demo-db1) | ||
- | |||
- | Voici ci-dessous un exemple générique d' | ||
- | |||
- | <code php> | ||
- | <?php | ||
- | |||
- | // remplacer nomdebase par le nom de votre base SQL | ||
- | // remplacer password par votre mot de passe | ||
- | |||
- | $host = ' | ||
- | $base = ' | ||
- | $login = ' | ||
- | $pwd = ' | ||
- | |||
- | // Connexion au serveur | ||
- | |||
- | $db = mysql_connect($host, | ||
- | |||
- | // On test le retour de la connexion | ||
- | |||
- | if(!$db) | ||
- | { | ||
- | // on affiche un message d' | ||
- | print " | ||
- | exit; | ||
- | } | ||
- | |||
- | // On choisit la bonne base | ||
- | |||
- | if(!mysql_select_db($base, | ||
- | { | ||
- | // on affiche un message d' | ||
- | print " | ||
- | mysql_close($db); | ||
- | exit; | ||
- | } | ||
- | |||
- | // On suppose que vous avez une table ' | ||
- | |||
- | $sql = " | ||
- | |||
- | // Une requête qui retourne une erreur si vous n'avez pas de table ' | ||
- | |||
- | if(!mysql_query($sql, | ||
- | { | ||
- | // on affiche un message d' | ||
- | print " | ||
- | mysql_close($db); | ||
- | exit; | ||
- | } | ||
- | |||
- | // analyse de la requête | ||
- | // ... | ||
- | |||
- | // on ferme la connexion à la base | ||
- | |||
- | mysql_close($db); | ||
- | |||
- | ?> | ||
- | </ | ||
- | |||
- | ===== Se connecter au serveur MySQL depuis l' | ||
- | |||
- | L' | ||
- | |||
- | |||
- | Il est également possible de restreindre l' | ||
- | |||
- | Ça se passe à l' | ||
- | |||
- | {{https:// | ||
- | ===== Quota MySQL ===== | ||
- | |||
- | Selon le pack acquis avec ou sans personnalisation de celui-ci, le quota des bases de données peut aller de 1 Go à 20 Go. | ||
- | |||
- | Lors du dépassement du quota maximum alloué, une alerte est envoyé par mail afin de vous indiquer de corriger la situation en souscrivant plus d' | ||
- | |||
- | Pour consulter la taille de vos bases de données connectez vous à votre interface de gestion. | ||
- | |||
- | ===== Compte MySQL supplémentaires ===== | ||
- | |||
- | Il est possible de créer des comptes MySQL supplémentaires avec un identifiant de son choix avec un mot de passe indépendant de son compte et des privilèges personnalisés sur les bases de données désirées. | ||
- | |||
- | Les comptes MySQL supplémentaires sont modifiables à tout moment et sont pris en compte immédiatement et sont accessibles à partir du pack d' | ||
- | |||
- | Pour accéder directement à ce gestionnaire : https:// | ||
- | |||
- | {{https:// | ||
- | |||
- | ===== Connexions simultanées ===== | ||
- | |||
- | Le nombre de connexions simultanées au serveur de bases de données MySQL correspond au nombre de requêtes s' | ||
- | |||
- | Lorsqu' | ||
- | |||
- | * Le nombre de connexions simultanées à notre serveur de bases de données MySQL avec le pack Standard est de 30 comme beaucoup d' | ||
- | * Le nombre de connexions simultanées au serveur MySQL ne correspond pas du tout au nombre de connectés simultanés sur votre site. | ||
- | |||
- | ==== Explication ==== | ||
- | |||
- | Si vous exécuté une requête SQL simple, soit d'une durée par exemple de 0.1 seconde, ça signifie que vous pouvez effectuer au maximum 10 x 10 = 100 requêtes SQL pendant une seconde. Si votre requête est plus lourde et perdure pendant 0.5 secondes alors vous arrivez à 2 * 10 = 20 requêtes par seconde avant blocage. | ||
- | |||
- | Vous avez compris, plus vos requêtes sont légères, plus vous pourrez en faire. | ||
- | |||
- | ==== Conséquences ==== | ||
- | |||
- | Cette protection permet de bloquer les sites mal développés ou utilisant beaucoup trop ses ressources allouées avant qu'ils pénalisent les autres sites légitimes. | ||
- | |||
- | Le but du développement est de réduire le nombre de connexion et leur temps de monopolisation, | ||
- | |||
- | ==== Que faut-il faire ==== | ||
- | |||
- | * Fermer vos connexions SQL dans votre code PHP dès que vous ne vous en servez plus. | ||
- | * Utiliser des INDEX dans vos tables | ||
- | * Éviter les SELECT * lorsque que toutes les propriétés ne sont pas utilisées. | ||
- | * Supprimer les modules inutiles de vos CMS | ||
- | * et en dernier lieu : migrer sur l' | ||
- | ===== Liste non exhaustives de clients MySQL ===== | ||
- | |||
- | * Workbench http:// | ||
- | * Navicat for MySQL https:// | ||
- | * Sequel Pro http:// | ||
- | * HeidiSQL http:// | ||
- | * SQLyog http:// | ||
- | * SQLWave http:// | ||
- | * dbForge Studio http:// | ||
- | * DBTools Manager http:// | ||
- | * MyDB Studio http:// | ||
- | * etc ... |