Le fichier de configuration MySQL par défaut /etc/mysql/my.cnf est installé par un paquet debian en utilisant APT définit souvent la variable log_bin, donc binlog est activé:
log_bin = /var/log/mysql/mysql-bin.log
Quand je veux désactiver la journalisation binaire sur une telle installation, commentez la ligne dans my.cnf fonctionne bien sûr, mais je me demande s'il existe un moyen de désactiver la journalisation binaire en définissant explicitement log_bin sur OFF, dans un style Debian, je veux dire dans un fichier inclus comme /etc/mysql/conf.d/myCustomFile.cnf, donc my.cnf par défaut n'est pas modifié et peut être facilement mis à jour par apt, si nécessaire.
J'ai essayé "log_bin = 0", "log_bin = OFF" ou "log_bin =" mais rien ne fonctionne ...
C'est une vieille question, mais elle est apparue lors d'une recherche alors que j'essayais de me rafraîchir la mémoire sur le nom de l'option correcte et maintenant que j'ai compris, j'ajoute les détails ici.
La partie clé de la question est:
Je veux dire dans un fichier inclus comme /etc/mysql/conf.d/myCustomFile.cnf
Vous pouvez le faire à partir d'un fichier d'options inclus en utilisant l'option skip-log-bin
. Par exemple. vous pourriez créer /etc/mysql/conf.d/disable_binary_log.cnf
avec le contenu suivant:
[mysqld]
skip-log-bin
Vous pouvez ajouter skip-
comme préfixe à d'autres options pour les désactiver de cette manière également.
Dans MySQL 8, c'est l'option disable_log_bin qui doit être fournie sans aucun paramètre dans le my.cnf
fichier dans le [mysqld]
section.
[mysqld]
disable_log_bin
some-other-option = any-value
Vous pouvez le voir comme ceci, log_bin ne devrait pas accepter les paramètres, soit vous mettez:
log_bin
ou rien du tout, car c'est un paramètre booléen.
Cependant, si une valeur est définie, les journaux sont activés et la valeur interprétée comme le nom de base binlog.
Les options de journalisation ont l'habitude de ne pas être trop intuitives et de changer leur format de version en version (je vous regarde, journal lent).
Si vous ne répliquez pas, vous pouvez désactiver le binlogging en modifiant votre fichier my.ini ou my.cnf. Ouvrez votre my.ini ou /etc/my.cnf (/etc/mysql/my.cnf), entrez:
# vi /etc/my.cnf
Recherchez une ligne qui lit "log_bin" et supprimez-la ou commentez-la comme suit:
#log_bin = /var/log/mysql/mysql-bin.log
Vous devez également supprimer ou commenter les lignes suivantes:
#expire_logs_days = 10
#max_binlog_size = 100M
Fermez et enregistrez le fichier. Enfin, redémarrez le serveur mysql:
# service mysql restart
Depuis le Manuel pour MariaDB ( https://mariadb.com/kb/en/library/activating-the-binary-log/ )
Si vous ne fournissez pas de nom (qui peut éventuellement inclure un chemin absolu), la valeur par défaut sera datadir/log-basename-bin, datadir/mysql-bin ou datadir/mariadb-bin
Cependant,
Les clients disposant du privilège SUPER peuvent désactiver et réactiver le journal binaire pour la session en cours en définissant la variable sql_log_bin.
SET sql_log_bin = 0;
SET sql_log_bin = 1;
Cependant, si vous dites qu'il a été activé par défaut lors de l'installation, vous devez le désactiver en supprimant la ligne de votre fichier my.cnf puis redémarrer mysqld. Vous pouvez également purger les données binaires ( https://dev.mysql.com/doc/refman/5.6/en/purge-binary-logs.html )
PURGE BINARY LOGS
Enfin, comme le mentionne la réponse de l'autre affiche, dans MySQL 8 il y a une option pour désactiver explicitement la journalisation binaire du fichier de configuration en utilisant le --skip-log-bin
ou --disable-log-bin
options dans la section [mysqld] du fichier de configuration.
Pour désactiver la journalisation binaire, vous pouvez spécifier le
--skip-log-bin
ou--disable-log-bin
option au démarrage. Si l'une de ces options est spécifiée et--log-bin
est également spécifié, l'option spécifiée ultérieurement a priorité. Lorsque la journalisation binaire est désactivée, la variable système log_bin est définie sur OFF.
Comme je le sais après la mise à jour d'un package, le fichier de configuration doit être l'ancien, donc après la mise à jour, vous avez les mêmes fichiers de configuration. Sinon, vous pouvez créer un deuxième fichier de configuration dans le chemin $ MYSQL_HOME/my.cnf. Celui-ci est pour les options spécifiques au serveur et, comme je le sais, écrasera les paramètres dans le fichier global /etc/my.cnf