Come faccio a rendere binlog-format = ROW l'impostazione predefinita di avvio nel file /etc/my.cnf?


9

Posso eseguire la query SET GLOBAL binlog_format = 'ROW' e funziona per quella sessione.

Come faccio a impostare questa impostazione dopo aver interrotto e riavviato MySQL?

NOTA: Sono sulla versione 5.5.19 di MySQL (con Moodle) e ho appena effettuato l'aggiornamento da MyISAM a InnoDB e quindi ho bisogno di questa nuova impostazione.

Ho provato ad aggiungere questi due comandi (separatamente) a my.cnf: binlog-format = ROW e binlog_format = ROW e nessuno dei due funziona. Ho interrotto e riavviato MySQL ogni volta che ho cambiato my.cnf.

L'errore che ottengo senza che questo sia impostato è il malvagio messaggio di errore:

Informazioni di debug: impossibile eseguire l'istruzione: impossibile scrivere nel registro binario poiché BINLOG_FORMAT = STATEMENT e almeno una tabella utilizza un motore di archiviazione limitato alla registrazione basata su righe. InnoDB è limitato al log delle righe quando il livello di isolamento della transazione è LEGGI COMMITTATO o LEGGI NON COMUNITO.

Risposte:


15

Penso che il tuo problema potrebbe derivare da dove hai scritto la direttiva

Assicurati di posizionare l'opzione sotto l' [mysqld]intestazione in /etc/my.cnf

[mysqld]
binlog_format = ROW

Se lo metti sotto qualsiasi altra intestazione, il processo mysqld non lo vedrà.

Provaci !!!


Questo ha funzionato! Sì, era sotto un'altra voce.
Costanza

0

3 valori per binlog_format

[mysqld]
binlog_format = ROW
[mysqld]
binlog_format = STATEMENT
[mysqld]
binlog_format = MIXED
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.