Créer une instance Google Cloud SQL et s’y connecter avec PHP

Bonsoir, pour ce soir nous allons voir comment créer une instance Google Cloud SQL et comment s’y connecter avec PHP !!

Comme vous le savez, la tendance est au Cloud ces derniers temps, dans un de mes précédents articles je présente un peu la chose. Avec sa plateforme d’hébergement d’applications AppEngine, Google propose ainsi aux développeurs de pouvoir déployer leurs applications sur sa plateforme, comme toute solution Cloud Computing, AppEngine permet aux développeurs de se concentrer uniquement sur son application et de laisser tout ce qui est infrastructures à celui qui offre l’offre Cloud (Google dans le cas présent ).

De même que pour les applications, les bases de données sont aussi présentes dans le Cloud, c’est ainsi que dans l’offre AppEngine, Google a mis aussi à la disposition des développeurs le Cloud SQL. Le Cloud SQL c’est en fait une base de données MySQL dans le Cloud, le principe est donc le même, vous avez votre BD mais vous ne savez ou sont stockés vos données.

Toutefois, le principe de fonctionnement est quelque peu différent ici, on n’accède pas directement à la base de donnée, on y accède au travers d’une instance Google Cloud SQL. Une instance peut être vue comme la classe mère d’une base de donnée dans Google Cloud SQL, de ce fait, une instance peut avoir plusieurs base de données. Nous allons à présent voir comment donc déployer notre base de donnée dans le Cloud. Dans notre cas, nous allons faire un dump ( sauvegarde ) de notre bd local au format SQL, c’est cette version que nous allons répliquer en ligne.

Étape 1 : Créer son projet AppEngine dans la console AppEngine ( cloud.google.com )

ap2

Il faut garder à l’esprit que Google Cloud SQL n’est pas gratuit, donc il vous faudra activer le billing pour poursuivre, je vous conseille ce tuto pour voir comment procéder : http://fr.openclassrooms.com/informatique/cours/montez-votre-site-dans-le-cloud-avec-google-app-engine/activer-google-cloud-sql-dans-l-api-console

 

Etape 2 : Ouvrir le projet et se rendre à la section Cloud SQL

ap1

Etape 3 : création de l’instance Cloud SQL pour le projet

ap3

Cliquez sur New Instance pour créer une nouvelle instance, le formulaire de création est assez intuitif et ne devrais pas vous pouvez de soucis

ap4

Etape 4 : Activer l’API Cloud SQL et Cloud Storage

ap6.png

Afin de pouvoir upload le fichier sql de votre BD et de pouvoir aussi utiliser Google Cloud SQL, rendez vous dans la section APIs pour activer ses API pour votre projet

Etape 5 : Création du Bucket et import de notre fichier SQL

ap5

Rendez-vous dans la section Cloud Storage et cliquez sur New Bucket, un bucket c’est un peu comme un dossier dans le Cloud, il est impératif d’en créer un pour uploader le fichier SQL, une fois cela fait. Double-cliquez sur le bucket nouvelle créer puis sur upload afin d’uploader votre fichier SQL.

RMQ : votre fichier SQL doit avoir les lignes de création de votre Base de données ainsi que de ses tables ( ex:

CREATE DATABASE IF NOT EXISTS database; CREATE USER ‘user’@’localhost’ IDENTIFIED BY ‘pwd’;

 

GRANT ALL PRIVILEGES ON database.* TO ‘user’@’localhost’;

 

USE `database`;  )

Le but étant que lors de l’importation de ce fichier SQL, notre BD soit crée ainsi que toutes ses tables.

ap7

Retournez dans la section Cloud SQL, puis cliquez sur import pour importer le fichier SQL nouvellement uploader, a supposer que notre fichier SQL s’appelle database.sql et que le dossier bucket s’appelle ma_bdd, on aura la valeur suivante pour le champ Cloud Storage Path : ( gs://ma_bdd/database.sql ), on laissera le deuxième champ vide vu que l’on spécifie déjà la bd dans le fichier SQL. Puis cliquez sur ok.

ap8

Dans la section opération, vous aurez donc le message import réussie avec succès !! Votre base de données vient donc d’être importé avec succès dans le Cloud.

Étape 6 : Connexion avec PHP

Pour cette connexion avec PHP, nous allons montrer la chaine de connexion avec PDO et la chaine de connexion mysql standard.

— avec PDO

try{

$db = new PDO(‘mysql:unix_socket=/cloudsql/ID_instance;dbname=database;charset=utf8’,

‘user’,

‘pwd’

);

} catch(PDOException $ex){ echo « Unable to connect DataBase »; }

 

— sans PDO

Mysql_connect(‘mysql:unix_socket=/cloudsql/ID_instance’,’user’,’pwd’);

Mysql_select_db(‘database’);

Et voila !! Vous savez dès à présent comment créer une instance Google Cloud SQL et comment l’utiliser avec PHP. N’oubliez pas que Google Cloud SQL n’est pas lié au Apps AppEngine, vous pouvez ainsi avoir votre application hébergé chez vous, mais vous utilisez Google Cloud SQL pour gérer votre base de données.

 

 

Publicités