web-dev-qa-db-fra.com

Comment puis-je faire de binlog-format = ROW le démarrage par défaut dans le fichier /etc/my.cnf?

Je peux exécuter la requête SET GLOBAL binlog_format = 'ROW' et cela fonctionne pour cette session.

Comment puis-je conserver ce paramètre après avoir arrêté et redémarré MySQL?

REMARQUE: je suis sur la version 5.5.19 de MySQL (avec Moodle) et je viens de passer de MyISAM à InnoDB et j'ai donc besoin de ce nouveau paramètre.

J'ai essayé d'ajouter ces deux commandes (séparément) à my.cnf: format binlog = ROW et binlog_format = ROW et aucun ne fonctionne. J'ai arrêté et redémarré MySQL chaque fois que je changeais my.cnf.

L'erreur que j'obtiens sans que cela soit défini est le message d'erreur néfaste:

Informations de débogage: impossible d'exécuter l'instruction: impossible d'écrire dans le journal binaire car BINLOG_FORMAT = STATEMENT et au moins une table utilise un moteur de stockage limité à la journalisation basée sur les lignes. InnoDB est limité à la journalisation des lignes lorsque le niveau d'isolement des transactions est READ COMMITTED ou READ UNCOMMITTED.

9
Constance

Je pense que votre problème peut provenir de l'endroit où vous avez écrit la directive

Assurez-vous de placer l'option sous le [mysqld] en-tête dans /etc/my.cnf

[mysqld]
binlog_format = ROW

Si vous le placez sous un autre en-tête, le processus mysqld ne le verra pas.

Essaie !!!

15
RolandoMySQLDBA