article-sql

Associer son site dynamique php à une base de données MySQL est incontournable. C’est le cas pour la plupart des CMS (WordPress, Prestashop). Mais concrètement, Bases de données, MySQL, PhpMyAdmin, qu’est-ce que c’est ?

Une « Base de données » c’est quoi ?

Une « base de données » (ou « Database ») est un outil informatique qui permet de réunir des données informatisées. Ces données sont généralement des listes qui ont une interaction entre elles. Par exemple une liste d’auteurs et la liste des titres d’un auteur. Ou bien une liste de produits classés par catégorie. Un peu comme pourrait le faire un tableur mais avec une spécificité : un accès en recherche très rapide grâce à des « requêtes ». Les plus utilisées sont : SELECT, INSERT, UPDATE et DELETE.
Les données d’une base peuvent ainsi être utilisées et manipulées par des logiciels clients, en ce qui nous concerne par des sites internet. C’est ainsi que Prestashop gère les produits du catalogue, ou WordPress des articles.

Et en quoi consiste MySQL ?

Il s’agit d’un système de gestion de bases de données relationnelles (SGBDR). Il est distribué sous une double licence GPL, propriétaire et gratuit. Il fait partie des logiciels de gestion de base de données les plus utilisés au monde, autant par le grand public (applications web principalement) que par des professionnels. Il est en concurrence avec des systèmes payants comme Oracle, Informix et Microsoft SQL Server.
Consulter le site officiel

Et PhpMyAdmin dans tout ça ?

Il s’agit d’un outil d’accès et de gestion de bases de données MySQL, réalisé en PHP. Il est très largement utilisé. Il s’installe sur un serveur web, par exemple en local avec Wamp (Windows) ou Lamp (linux) ou Mamp (mac OS) ou encore sur votre hébergement PHPNET.
Consulter le site officiel

Ok, mais comment l’utilise-t-on chez PHPNET ?

Chez PHPNET, PhpMyAdmin est le logiciel que vous utilisez pour accéder à vos bases de données directement depuis votre panel client phpnet : l’accès se situe à droite du nom de la base, vous devrez alors cliquer sur le picto en forme de pile.

L’accès à vos bases de données peut se faire de n’importe où par le web à l’adresse : http://sql.phpnet.org avec le nom de la base, le mot de passe ainsi que le nom du serveur qui l’héberge.

Vous pouvez alors, une fois dans PhpMyAdmin, modifier vos bases en ajoutant des champs, des enregistrements, des index facilitant les recherches, optimiser les tables…
Il est possible également d’exporter vos données pour faire une sauvegarde locale : Pour cela, sélectionnez le nom de la base dans la colonne de gauche, puis cliquez dans le menu du haut sur « exporter », enfin choisissez les options et le format. La base exportée s’appelle aussi « dump ». Elle est identique à celle que vous programmez depuis le panel (« activer le dump » à droite du nom de la base) et qui s’enregistre automatiquement dans votre FTP (dossier « archives »).

A l’inverse, si vous créez une base de données vide dans le panel, vous pouvez y importer une archive .sql, compressée ou non.

Parfois, vous aurez un message d’erreur indiquant qu’il est impossible d’importer une base. Il faut alors ouvrir le fichier .sql dans un éditeur de texte et commenter les lignes qui posent problème (par exemple CREATE DATABASE si nécessaire).

WordPress, Prestashop… quelle configuration ?

Généralement, les CMS ont un fichier de configuration dans lequel vous pouvez indiquer/modifier vos paramètres d’accès aux bases de données.

Dans WordPress il s’agit du fichier wp-config.php au premier niveau des dossiers :
/** Nom de la base de données de WordPress. */
define(‘DB_NAME’, ‘xxxxxxx’);
/** Utilisateur de la base de données MySQL. */
define(‘DB_USER’, ‘xxxxxxx’);
/** Mot de passe de la base de données MySQL. */
define(‘DB_PASSWORD’, ‘mot de passe’);
/** Adresse de l’hébergement MySQL. */
define(‘DB_HOST’, ‘clx-sqlxx’);

Dans Prestashop, il s’agit du fichier settings.inc.php dans le dossier « config »
define(‘_DB_SERVER_’, ‘clx-sqlxx’);
define(‘_DB_NAME_’, ‘xxxxxxx’);
define(‘_DB_USER_’, ‘xxxxxxx’);
define(‘_DB_PASSWD_’, ‘motdepasse’);

Et avec SqlGold ?
Les paramètres sont juste un peu différents. Par exemple dans wordpress cela donne :
/** Nom de la base de données de WordPress. */
define(‘DB_NAME’, ‘sqlxxxx_x’);
/** Utilisateur de la base de données MySQL. */
define(‘DB_USER’, ‘sqlxxxx_x’);
/** Mot de passe de la base de données MySQL. */
define(‘DB_PASSWORD’, ‘mot de passe’);
/** Adresse de l’hébergement MySQL. */
define(‘DB_HOST’, ‘sqlxxxx.phpnet.org’);

Si votre site web est hébergé chez un autre hébergeur, vous pouvez utiliser tout de même une base MySqlGold ainsi :
/** Nom de la base de données de WordPress. */
define(‘DB_NAME’, ‘sqlxxxx_x’);
/** Utilisateur de la base de données MySQL. */
define(‘DB_USER’, ‘sqlxxxx_x’);
/** Mot de passe de la base de données MySQL. */
define(‘DB_PASSWORD’, ‘mot de passe’);
/** Adresse de l’hébergement MySQL. */
define(‘DB_HOST’, ‘sqlgold.phpnet.org:4xxxx‘);

Toutes les informations de connexion sont indiquées sur votre panel client.

Et concrètement, en question de vitesse…

Une base de données trop chargée peut être responsable de lenteurs sur un site. C’est le cas en particulier s’il y a de trop nombreux enregistrements dus à un module qui inscrit son cache dans la base de données ou encore des tables qui conservent 15 années d’enregistrements. La réponse aux requêtes devient alors très longue. Il est donc essentiel de surveiller ses bases de données, éventuellement supprimer des informations obsolètes et optimiser les tables régulièrement.

Le nouveau serveur MySqlGold que nous proposons est souvent une bonne réponse pour accélérer le fonctionnement d’un site. La gestion des bases de données y est identique aux bases traditionnelles mais chaque serveur est équipé de disques SSD et d’une mémoire dédiée au client. Vous créez autant d’utilisateurs MySQL que vous le souhaitez, vous adaptez également sans limite la configuration de votre serveur MySQLGold en personnalisant le fichier my.cnf.
Le déplacement d’une base sur serveur MySqlGold est très facile : un clic pour copier, mise à jour des adresses de base dans le fichier de configuration du site et le tour est joué !