Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

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'utiliser le PL/SQL afin d'utiliser des procédures et fonctions stockées ainsi que des déclencheurs. 
- 
-===== Les moteurs MySQL disponibles ===== 
- 
-Chez FranceServ Hébergement, deux moteurs MySQL sont disponibles : 
- 
-  - 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, ni les clefs étrangères. 
-  - InnoDB : moteur créé et maintenu par InnoBase. Il gère les transactions et les clefs étrangères (et donc une gestion d'intégrité de table). 
- 
-===== Se connecter au serveur MySQL depuis son site ===== 
- 
-Les informations pour se connecter à la base de données sont disponibles dans l'interface de gestion, section MySQL. 
- 
-Pour vous connecter à une base de données, il y a quatre paramètres à renseigner : 
- 
-  - L'hôte : sql.franceserv.fr 
-  - L'identifiant : (exemple : demo) 
-  - Le mot de passe : (le mot de passe correspondant à l'identifiant) 
-  - Le nom de la base de données : (exemple : demo-db1) 
- 
-Voici ci-dessous un exemple générique d'accès à une base MySQL via PHP : 
- 
-<code php> 
-<?php 
-  
-// remplacer nomdebase par le nom de votre base SQL 
-// remplacer password par votre mot de passe 
-  
-$host = 'sql.franceserv.com';  
-$base = 'demo-db1'; 
-$login = 'demo'; 
-$pwd = 'password'; 
-  
-// Connexion au serveur 
-  
-$db = mysql_connect($host, $login, $pwd); 
-  
-// On test le retour de la connexion 
-  
-if(!$db) 
-{ 
-  // on affiche un message d'erreur : 
-  print "Désolé, connexion impossible à [$host] : ".mysql_error(); 
-  exit; 
-} 
-  
-// On choisit la bonne base 
-  
-if(!mysql_select_db($base,$db)) 
-{ 
-  // on affiche un message d'erreur : 
-  print "Désolé, la base de données [$base] n'as pas été trouvé sur le serveur [$host]<br>".mysql_error(); 
-  mysql_close($db); 
-  exit; 
-} 
-  
-// On suppose que vous avez une table 'toto' : 
-  
-$sql = "SELECT * FROM toto"; 
-  
-// Une requête qui retourne une erreur si vous n'avez pas de table 'toto' 
-  
-if(!mysql_query($sql,$db)) 
-{ 
-  // on affiche un message d'erreur : 
-  print "erreur sur la requête $sql dans la base [$base] du serveur [$host]<br>".mysql_error(); 
-  mysql_close($db); 
-  exit; 
-} 
-  
-// analyse de la requête 
-// ... 
-  
-// on ferme la connexion à la base 
-  
-mysql_close($db); 
-  
-?> 
-</code> 
- 
-===== Se connecter au serveur MySQL depuis l'extérieur ===== 
- 
-L'accès extérieur au serveur de bases de données MySQL est possible uniquement aux adresses IP autorisées et déclarées dans votre interface de gestion et seulement si vous êtes sur une formule d'hébergement payante. Dans le cas contraire, l'accès depuis l'extérieur est impossible, seul le site Internet y a accès. Ce contrôle d'accès est mis à jour toutes les minutes. 
- 
- 
-Il est également possible de restreindre l'accès au serveur FTP à votre compte depuis ces mêmes adresses IP. 
- 
-Ça se passe à l'adresse suivante : https://www.franceserv.fr/admin/protection/ip/ 
- 
-{{https://www.franceserv.fr/images/depot/3Ffl6CM.jpg}} 
-===== 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'espace ou en réduisant l'espace utilisé. Si la situation est toujours la même après 72 heures, l'ensemble des services sont bloqués. 
- 
-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'hébergement Standard en ajoutant l'option. 
- 
-Pour accéder directement à ce gestionnaire : https://www.franceserv.fr/admin/multi-sql/ 
- 
-{{https://www.franceserv.fr/images/depot/ZleNrj.png}} 
- 
-===== Connexions simultanées ===== 
- 
-Le nombre de connexions simultanées au serveur de bases de données MySQL correspond au nombre de requêtes s'effectuant à un certain temps donné pour un même utilisateur. 
- 
-Lorsqu'il y a trop de requêtes s’exécutant en même temps, la limite du nombre de connexions simultanées maximum est alors atteinte, bloquant toutes nouvelles requêtes tant qu'il y a dépassement. 
- 
-  * Le nombre de connexions simultanées à notre serveur de bases de données MySQL avec le pack Standard est de 30 comme beaucoup d'hébergeurs. Le pack Pro permet d'avoir 120 connexions simultanées. 
-  * 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, par page sur le serveur. 
- 
-==== 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'offre d'hébergement Pro ou placer vos bases de données MySQL sur un serveur dédié. 
-===== Liste non exhaustives de clients MySQL ===== 
- 
-  * Workbench http://dev.mysql.com/downloads/workbench/ (gratuit et recommandé, pour Windows) 
-  * Navicat for MySQL https://www.navicat.com/en/products/navicat-for-mysql (pour Windows, Mac et iOS) 
-  * Sequel Pro http://www.sequelpro.com/ (pour Mac) 
-  * HeidiSQL http://www.heidisql.com/ (pour Windows) 
-  * SQLyog http://www.sqlmaestro.com/products/mysql/ (pour Windows) 
-  * SQLWave http://www.sqlwave.com/ 
-  * dbForge Studio http://www.devart.com/dbforge/mysql/studio/ (pour Windows) 
-  * DBTools Manager http://www.dbtools.com.br/EN/dbmanagerpro/ (pour Windows) 
-  * MyDB Studio http://www.mydb-studio.com/ 
-  * etc ...