2010-08-13 27 views
1

Je voulais configurer un nouvel esclave de base de données mysql exécutant une version plus récente de mysql => 5.1.41 que le maître => 5.0.75, qui - pour autant que je sache - devrait normalement être aucun problème. Cependant, il se trouve que la mise en place de réplication échoue, parce que je l'ai utilisé une instruction SQL dans 5.0.75 qui ne semble pas fonctionner 5.1.41 anylonger:mysql réplication déclarations incompatibles problème

la déclaration qui provoque le problème ressemble à:

DELETE FROM tab1 t1 
USING  tab1 t1, tab2 t2 
WHERE  t2.field1 = ... 
AND   t2.field2 = ... 
AND   t1.field1 = t2.field2; 

ces déclarations fonctionne parfaitement sur 5.0.75, 5.1.41 sur i le message d'erreur suivant dans mon statut d'esclave:

... 
Last_SQL_Errno: 1064 
Last_SQL_Error: Error 'You have an error in your SQL syntax; check the manual that  
       corresponds to your MySQL server version for the right syntax to 
       use near 't1 
       USING  tab1 t1, tab2 t2 
       ... 
... 

des idées, ce qui se passe et ce qu'il faut faire?

merci!

MISE À JOUR

ok, je résolu ce problème en me compilation 5.0.75 sur l'esclave ... cependant, je serais toujours intéressé, ce qui se passe et comment faire face à ces problèmes. Merci.

+0

Désolé - veuillez voter pour passer à serverfault. Apparemment, j'ai trop d'onglets de navigateur ouverts et posté dans le mauvais :-(. il est parfois très difficile de garder la vue d'ensemble sur tous ces mêmes sites de qa à la recherche ... – aurora

Répondre

-1

Pour les erreurs de ce type (qui ne sont pas importantes), vous pouvez filtrer dans le fichier my.ini.

# skip replication errors 
slave-skip-errors=1062,1136,1146 

Ou bien de modifier le code incriminé afin qu'il soit compatible avec la version.

+0

'est très important' – ajreal