Premiers pas avec l'hébergeur O2Switch – Création de la base de données
Après avoir souscrit à l'offre unique O2Switch, il est temps d'installer notre (ou nos) sites internet. Cet article traite de la création de la base de données associée.
Contrairement aux hébergeurs habituels qui sont assez restrictifs en la matière, O2switch permet de créer autant de bases de données qu'on le souhaite (et de taille illimitée). Plus besoin de s'embêter à préfixer ses tables pour les ranger toutes en vrac dans la même base. Génial, non ?

En revanche, ce ne sont pas vraiment des bases MySQL mais des bases MariaDB. Maria quoi ? En 2009, à la suite du rachat de MySQL par Sun, eux-mêmes en passe d'être phagocytés par Oracle, le fondateur de MySQL Michael Widenius, quitte cette société pour lancer le projet MariaDB. MariaDB est donc l'alternative libre est gratuite de MySQL.
Personnellement, après quelques appréhensions, je n'ai pas constaté la moindre différence…
Création de la base de données à partir du cPanel
Connexion avec vos identifiants au cPanel, disponible sur https://<votrecluster>o2switch.net:2083.
Scroller vers le bloc « Bases de données » et cliquer sur « Bases de données MySQL » (oui même si c'est du MariaDB).

Petite limitation dans le nommage : tout nom de base de données sera préfixé du nom de votre compte et d'un underscore.
On commence par créer la base elle-même.

2e étape : créer l'utilisateur qui y aura accès (il est conseillé d'utiliser le générateur de mot de passe, très pratique).

3e étape : associer ce nouvel utilisateur à la base de données créée à l'étape 1

C'est très simple et très intuitif, tout se trouve sur la même page.
Accéder à la base dans vos scripts php
Pour y accéder, utiliser le nom de serveur localhost.
Ex. en php avec mysqli, (parce que les fonctions mysql sont dépréciés). Dans cet exemple, votre nom de compte est « compte », vous avez nommé votre nouvelle base compte_mabase et votre utilisateur compte_monuser.
$connect=mysqli_connect ("localhost", "compte_monuser", "motdepassedelabase", "compte_mabase");
Ouvrir l'accès à la base de données depuis l'extérieur
Par défaut, les bases de données sont accessibles qu'a des scripts hébergés sur l'hébergement. Mais (comme sur un VPS ou un dédié, et contrairement à la grande majorité des hébergeurs mutualisés), il est possible d'accéder aux bases de données depuis une IP externe à l'hébergement. Par exemple, à partir de votre PC, via un logiciel tel que Mysql Workbench. Cela se fait à partir de l'outil « mysql distant » dans le bloc « Bases de données » sur le cPanel.

Voici un tutoriel qui explique comment procéder.
A noter que cet accès doit rester occasionnel. Il n'est pas autorisé d'avoir, par exemple, les scripts php sur un hébergement Free allant interroger la base de données sur O2Switch…
Accéder à phpMyAdmin et importer les données
On accède à phpMyAdmin en cliquant sur le lien correspondant dans le bloc « Bases de données » de cPanel. La limite d'import de fichier est de 250 Mo, il y a de la marge…
Quelques caractéristiques…
| Serveur de base de données Serveur : Localhost via UNIX socket Type de serveur : MariaDB Connexion au serveur : SSL n'est pas utilisé Version du serveur : 10.0.37-MariaDB – MariaDB Server Version du protocole : 10 Jeu de caractères du serveur : UTF-8 Unicode (utf8) |
Serveur Web cpsrvd 11.76.0.14 Version du client de base de données : libmysql – 5.1.73 Extension PHP : mysqli curl mbstring Version de PHP : 7.2.7 |
phpMyAdmin Version : 4.8.3 |
L'import SQL des données (réalisé à partir d'un export de l'ancienne base, qui pourtant ne portait pas le même nom) se passe sans souci. J'avais laissé UTF-8 en craignant un peu pour la préservation des caractères accentués (mes tables utilisent le charset latin-1) mais tout s'est bien passé.
Actuellement, j'ai 4 bases de données, dont une qui pèse plus de 22 Mo et l'autre plus de 60 Mo…
Quand la base de données dépasse 250 Mo
Il va vous falloir importer ce poids lourd en ligne de commande avec la commande mysql. On suppose que vous avez déjà créé une base vide avec son utilisateur et ses droits d'accès. On l'appellera ma_base_de_donnees

On uploade le gros fichier SQL sur l'hébergement, par exemple avec un client FTP comme Filezilla, ou avec le gestionnaire de fichiers de cPanel. Vous pouvez le déposer où vous le voulez, mais pour éviter d'avoir des chemins super longs à saisir dans votre console, il vaut mieux le déposer à la racine de l'hébergement (un niveau au-dessus de /www). Dans notre exemple, il va s'appeler sauvegarde.sql.

Direction l'outil Terminal de cPanel
/usr/bin/mysql -u identifiantCpanel -p ma_base_de_donnees < ~/sauvegarde.sql
Théoriquement on devrait pouvoir faire suivre -p du mot de passe du cPanel. Mais dans mon cas, cela n'a jamais fonctionné (au lieu de cela, un défilé d'options, de variables etc)…
Quand -p n'est suivi d'aucun mot de passe, le terminal nous demande de saisir ce mot de passe (théoriquement aussi, on devrait pouvoir utiliser l'identifiant et le mot de passe de l'utilisateur de la base).
Ensuite, rien ne semble se passer pendant quelques dizaines de secondes. Aucune confirmation de réussite non plus. Juste le prompt réapparaît.
Dans phpMyAdmin en revanche, vous pouvez voir vos tables et vos données qui se sont importées.
Attention, la commande mysql est dépréciée. Il faudra bientôt utiliser /usr/bin/mariadb


