Automatiser la mise a jour d'une base de donnée mysql sur le net à partir d'une

ralinis Messages postés 22 Date d'inscription samedi 17 septembre 2005 Statut Membre Dernière intervention 23 août 2013 - 9 juin 2007 à 12:37
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 - 9 juin 2007 à 20:15
Salut à tous.je veux attendre un objectif: automatiser la mise à jour d'une base mysql qui est sur un serveur web à partir d'une base mysql installé en local ( easyphp).j'ai developpé un module que j'ai sur le net et mm temps en local.je dois interoger regulierement la base de données qui comportera un nom assez grand d'enregistrement.or il se fait que en ligne parfois qd je lance la requête sa prend du temps de plus si les utilisateurs sont connecté j'ai parfois des erreurs de connnexions.Vous pouvez me donner des pistes? sinon pour linstant je peux exporter la base et l'importer au net.Y a pas mieux??
merci et merci a vous tous

2 réponses

ralinis Messages postés 22 Date d'inscription samedi 17 septembre 2005 Statut Membre Dernière intervention 23 août 2013
9 juin 2007 à 14:13
quelques corrections: je disais je veux atteindre un but et non attendre un but et j'ai developpé un module que j'ai sur le net en même temps en local.je dois interroger regulierement la base de données qui comportera un nombre assez important d'enregistrements.or il se fait que en ligne parfois quand je lance la requête sa prend du temps de plus si les utilisateurs sont connectés j'ai parfois des erreurs de connnexions.Vous pouvez me donner des pistes? sinon pour linstant je peux exporter la base et l'importer sur le web.Y a pas mieux??
merci et merci a vous tous
0
J_G Messages postés 1406 Date d'inscription mercredi 17 août 2005 Statut Membre Dernière intervention 28 août 2007 9
9 juin 2007 à 20:15
Salut,

il existe un système de replication avec MySQL... Mais ce sytème requière des droits mysql que tu n'as peut-être pas... : http://dev.mysql.com/doc/refman/5.0/en/replication.html

Si, tu ne peux pas utiliser ce système... tu n'as plus qu'à tabler sur l'optimisation de ton module ?

Deux petits tricks :
SHOW TABLE STATUS [FROM
db_name
] [LIKE '
pattern
']
(http://dev.mysql.com/doc/refman/5.0/en/show-table-status.html)
retourne le champ suivant :

<li>
Update_time



When the data file was last updated. For some storage
engines, this value is
NULL
. For
example,
InnoDB
stores multiple tables
in its tablespace and the data file timestamp does not
apply.


</li>Donc tu peux sauter les tables qui n'ont pas été modifiées depuis la dernière mise à jour

`updated_at`TIMESTAMPONUPDATECURRENT_TIMESTAMPNOTNULLDEFAULTCURRENT_TIMESTAMP
L'utilisation d'un tel champs te permet ainsi de savoir si le champ à besoin d'être mis à jour !
Ce qui est bien, c'est que tu peux ajouter ce champ à toute tes tables sans avoir besoin de modifier le code de ton site... Il se gère tout seul.
Et grâce à une requête genre "update table set champ='truc' where updated_at<'date'", tu saute automatiquement les champs sans besoin d'update.

A+
0