Le log binaire erreur mysql
Quand je suis en train de vérifier le log binaire:
SHOW BINARY LOGS;
J'obtiens cette erreur:
ERREUR 1381 (HY000): Vous n'êtes pas à l'aide de journalisation binaire.
Comment résoudre ce problème? Quelqu'un peut-il aider?
- Par hasard, vous exécutez Amazon RDS ???
- Non, je ne suis pas à l'aide d'Amazon RDS.
Vous devez vous connecter pour publier un commentaire.
Définir la
log-bin
variable dans votre fichier de configuration de MySQL, puis redémarrer MySQL.Un exemple
my.cnf
(sur Linux/unix) oumy.ini
(sur Windows) ressemblerait à:Une fois redémarré, MySQL crée automatiquement un nouveau log binaire (le fait sur chaque redémarrage).
Vous pouvez aussi regarder les variables suivantes:
Lire les détails sur le Documentation de MySQL. Si vous êtes après la réplication de l'installation (une des principales raisons pour l'utilisation binaires journaux), découvrez Liste de contrôle de configuration de la réplication.
sync_binlog=0
vous prenez le risque que sur le pouvoir de la défaillance du maître, et les journaux des transactions binaires journaux de la désynchronisation des, entraînant un décalage entre les données de base et de l'esclave de données.Ligne
doit placés au-dessus des lignes:
Vous aurez besoin pour activer la journalisation binaire au démarrage
Ajouter les lignes suivantes dans /etc/my.cnf en vertu de la section [mysqld]
Ensuite, exécutez ce
La prochaine fois que vous vous connecter à mysql, vous verrez un log binaire d'inscription et tournera après 7 jours.
L'emplacement par défaut du fichier binaire journaux seront
/var/lib/mysql
ou où datadir est défini. Si vous spécifiez un dossier avant le binlog nom, alors ce dossier est l'emplacement.Par exemple
MISE À JOUR 2012-07-12 02:20 AM EDT
S'il vous plaît redémarrer mysql ci-dessous et dites-nous si binaire connectant sur
service mysql restart --log-bin=mysql-bin
log-bin=mysql-bin
en vertu de la[mysqld]
en-tête ou avez-vous placé sous un en-tête différent dans votre mon.cnf ???Pour activer le log binaire, démarrer le serveur avec l'option --log-bin[=base_name] option.
Si aucune base_name valeur est donnée, le nom par défaut est la valeur du pid-file (qui par défaut est le nom de la machine hôte), suivie par bin.
Si le nom de base est donné, le serveur enregistre le fichier dans le répertoire de données, à moins que le nom de base est donné avec un chemin d'accès absolu pour spécifier un autre répertoire. Il est recommandé que vous spécifiez un nom de base.
Ou vous pouvez utiliser directement:
puis redémarrez votre service mysql. Le binaire du fichier sera généré. Si vous utilisez lampp sur la machine Linux, alors vous trouverez ce fichier dans /lampp/var/mysql/mysql-bin.000001
FWIW, j'ai eu le même problème après j'ai essayé de mettre en place mon.cnf.maître et mon.cnf.esclave fichiers et lien symbolique à mon.cnf pour maître et de l'esclave, respectivement. L'idée était d'être capable d'allumer la machine de maître à esclave et de revenir en arrière facilement.
Il s'est avéré que mysqld n'a tout simplement pas gérer le lien comme prévu. Lier entre eux le fichier de travail (ln ma.cnf.maître de mon.cnf). Attention, si vous faites quelque chose comme cela, que l'écrasement de l'un des difficiles liés les noms de fichiers pourrait rompre le lien et créer deux fichiers distincts au lieu (selon la méthode de réécriture employés par le logiciel que vous utilisez pour elle).
J'ai trouvé la journalisation en silence à ne pas se faire même si mon.cnf config est bon, alors vous pouvez aussi essayer de re-créer votre dossier de journal.
Cela peut être necwssary si les journaux sont dans un drôle d'état. (Dans mon cas, j'ai eu tout simplement cessé de journalisation dans mon.cnf et puis re-activé, mais rien ne s'est passé, sans doute parce que les fichiers existants n'étaient pas les dernières mises à jour?).
Quelque chose comme cela devrait fonctionner:
Avertissement obligatoire: Évidemment, prendre soin lors de la suppression de quoi que ce soit sur un serveur de base de données. Cela va détruire/interrompre/corrompre toute la réplication à l'aide de cette base de données en tant que maître (si vous pouvez reprendre la réplication comme un esclave). Cela dit, je crois que ce devrait être à l'abri dans la mesure où il n'est pas de supprimer la base de données elle-même.
Je suis sorti de mon esprit avec ce problème sur une base de données MySQL 5.5 master sous Debian. Rien de ce qui précède travaillé. Enfin, j'ai redémarré le serveur et la journalisation est activée.
De supprimer l'article [mysqld_safe] et de les remplacer par [mysqld].
Il fonctionne pour moi.