Diviser une base de données

Fermé
liabelle2b Messages postés 3 Date d'inscription dimanche 18 mai 2014 Statut Membre Dernière intervention 18 mai 2014 - 18 mai 2014 à 21:48
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 - 19 mai 2014 à 07:09
Bonjour à tous,

Une petite question un peu complexe : J'ai crée un site wordpress pour un ami, je l'ai provisoirement hébergé sur mon hébergement http://www.facile-com-bonjour.com
J'ai acheté mon hébergement sur OVH formule de base avec une seule base.
Le site étant fini, je veux le rapatrier sur l'hébergement que possède mon ami, à savoir http://www.lana-corsa.com
Il a souscrit un hébergement chez hébergement-solution, hébergeur du néant, jamais entendu parler. Donc je vais sur son FTP pour uploader mon site Wordpress et là c'est le drame, un bordel incommensurable j'avais jamais vu ça. J'ai cherché les coordonnées de sa base mais impossible de trouver quoi que ce soit dans ce foutoir.

Je voulais donc qu'il continu à utiliser ma base tout en ayant son site hébergé chez lui (je vais virer l'ensemble du bordel et mettre mon wordpress comme il faut). Le problème c'est que du coup je n'ai plus de base car je ne peux pas en créer plus d'une chez OVH à moins de payer (cher).

Ma question est donc la suivante : est-ce que je peux scinder ma base en deux (j'ai largement assez de place), pour avoir son site d'une côté et recréer un autre pour moi de l'autre ? Et si oui, comment puis-je faire par une interface phpMyadmin ?
Ou alors, connaissez vous cet hébergeur et savez vous où je peux aller chercher les coordonnées de cette base ?

Merci de vos réponses ! Je suis à votre disposition si il faut davantage de renseignements !

2 réponses

mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
18 mai 2014 à 22:35
Bonjour,

En fait, préfixez les tables de votre appli, par exemple, pour une table nommée:

liste_adherents

vous la préfixez:

bjr_liste_adherents

et ceci pour toutes les tables du site de votre ami.

Utilisez un préfixe de 3 à 4 caractères maxi. Ca demande ensuite un peu de réécriture du code du site de votre ami....

Ainsi, les tables du site de votre ami ne seront pas en conflit avec vos propres tables.

A+
1
liabelle2b Messages postés 3 Date d'inscription dimanche 18 mai 2014 Statut Membre Dernière intervention 18 mai 2014
18 mai 2014 à 22:45
Merci pour votre réponse !

Qu'est-ce que vous entendez par "réécriture du code du site" ?
En gros est-ce qu'il suffit que j'utilise en script de ce type pour séparer les tables de son site des miennes ?

# CHANGER URL DU SITE

UPDATE wp_options
SET option_value = REPLACE(option_value, 'http://www.vieuxsite.fr', 'http://www.nouveausite.fr')
WHERE option_name = 'home'
OR option_name = 'siteurl';



# CHANGER URL DES GUID (GLOBAL UNIQUE IDENTIFIER)

UPDATE wp_posts
SET guid = REPLACE(guid, 'http://www.vieuxsite.fr', 'http://www.nouveausite.fr');



# CHANGER LES URL DES CONTENUS DES ARTICLES
# (LIEN, IMAGE, DOCUMENT)

UPDATE wp_posts
SET post_content = REPLACE(post_content, 'http://www.vieuxsite.fr', 'http://www.nouveausite.fr');



# CHANGER LES URL DES DONNEES META DES POSTS

UPDATE wp_postmeta
SET meta_value = REPLACE(meta_value, 'http://www.vieuxsite.fr','http://www.nouveausite.fr');


0
mpmp93 Messages postés 6652 Date d'inscription mercredi 13 avril 2011 Statut Membre Dernière intervention 28 septembre 2015 1 339
Modifié par mpmp93 le 19/05/2014 à 07:10
Bonjour,

Une base de données contient des tables....

Ce sont les noms des tables qu'il faut modifier.

Par exemple:

UPDATE wp_posts
SET guid = REPLACE(guid, 'http://www.vieuxsite.fr', 'http://www.nouveausite.fr');


deviendrait:

UPDATE bjr_wp_posts
SET guid = REPLACE(guid, 'http://www.vieuxsite.fr', 'http://www.nouveausite.fr');


mais il faut changer le nom des tables:
- en administration de BDD via phpMyAdmin
- dans le code source PHP qui utilise ensuite ces tables

A+
0