Aller au contenu


Changer l'isolation de transaction par défaut dans Toad pour MySQL


  • Vous ne pouvez pas répondre à ce sujet
4 réponses à ce sujet

#1 Benji

  • Administrateur
  • 1 161 messages

Posté 28 septembre 2010 à 17:41

Je fais là un appel désespéré aux Databaseux ! J'ai une base MySQL qui tourne avec InnoDB comme moteur, binlogs activés.
Le problème c'est que Toad met l'isolation de transaction en READ-COMMITTED par défaut, alors que les binlogs (en mode STATEMENT) n'acceptent pas ce mode d'isolation.
Le message d'erreur :
MySQL Database Error: Binary logging not possible. Message: Transaction level 'READ-COMMITTED' in InnoDB is not safe for binlog mode 'STATEMENT'


Une solution est d'envoyer la requête ci dessous à chaque connexion, mais c'est assez contraignant...
SET SESSION TRANSACTION ISOLATION LEVEL REPEATABLE READ;


J'ai bien essayé de mettre une instruction dans "init-connect", mais le problème c'est que root n'exécute pas ces instructions (par sécurité) et de toutes façons, même avec un utilisateur "non SUPER", Toad repasse derrière et remet "tx_isolation" à "READ-COMMITTED"...

Et l'ami Google n'a rien donné, à part un collègue qui n'a pas obtenu beaucoup de réponse...

Any clue ? :)
08/09 : B1A, Paris CL -- 09/10 : B2A, Paris CL (délégué, CLMa Cisco) -- 10/11 : B3A, Paris CL (délégué, CLM Cisco) -- 11/12 : M1 Paris CL (CLM Cisco) -- What next ?

@b_abadie -- Site perso

#2 Kaoru

  • SUPINFO
  • 269 messages

Posté 29 septembre 2010 à 07:49

Here ? :

http://dev.mysql.com...ransaction.html
2009-2010 : B3 - Lyon, 2010-2011 : M1 - Lyon
"La moisson c'est la fin du monde, les moissonneurs ce sont les anges" (Mathieu 13,39)
"Mon nom est Légion, car nous sommes nombreux" Marc (5,9)

#3 Benji

  • Administrateur
  • 1 161 messages

Posté 29 septembre 2010 à 11:35

Nop. De toutes façons REPEATABLE READ est la valeur par défaut.
J'ai essayé, dans le doute, mais sans résultat.

J'ai activé le general query log, et on voit bien le contenu de "init-connect" qui est exécuté, mais derrière Toad lance un SET TRANSACTION ISOLATION LEVEL READ COMMITTED" ...

A noter que quand on passe les binlogs en mode "ROW" il n'y a plus de problème (normal)...

Le problème vient bien de Toad, l'examen des logs de requêtes le montre bien. Le problème c'est qu'il n'y a rien dans les options de Toad qui permette de changer ce comportement...
08/09 : B1A, Paris CL -- 09/10 : B2A, Paris CL (délégué, CLMa Cisco) -- 10/11 : B3A, Paris CL (délégué, CLM Cisco) -- 11/12 : M1 Paris CL (CLM Cisco) -- What next ?

@b_abadie -- Site perso

#4 Kaoru

  • SUPINFO
  • 269 messages

Posté 29 septembre 2010 à 13:10

Change de client alors...
2009-2010 : B3 - Lyon, 2010-2011 : M1 - Lyon
"La moisson c'est la fin du monde, les moissonneurs ce sont les anges" (Mathieu 13,39)
"Mon nom est Légion, car nous sommes nombreux" Marc (5,9)

#5 Benji

  • Administrateur
  • 1 161 messages

Posté 29 septembre 2010 à 13:49

Hahaha non je vais continuer à chercher. :lol:
08/09 : B1A, Paris CL -- 09/10 : B2A, Paris CL (délégué, CLMa Cisco) -- 10/11 : B3A, Paris CL (délégué, CLM Cisco) -- 11/12 : M1 Paris CL (CLM Cisco) -- What next ?

@b_abadie -- Site perso