J'ai mis en place la réplication maître MySQL (sur Debian 6.0.1) en suivant fidèlement ces instructions: http://www.neocodesoftware.com/replication/
J'ai autant que:
mysql > show master status;
mais cela produit malheureusement ce qui suit, plutôt que n'importe quelle sortie utile:
Empty set (0.00 sec)
Le journal des erreurs sur /var/log/mysql.err
est juste un fichier vide, donc cela ne me donne aucun indice.
Des idées?
Voici ce que j'ai mis /etc/mysql/my.cnf
sur un serveur (modifié de manière appropriée pour l'autre serveur):
server-id = 1
replicate-same-server-id = 0
auto-increment-increment = 2
auto-increment-offset = 1
master-host = 10.0.0.3
master-user = <myusername>
master-password = <mypass>
master-connect-retry = 60
replicate-do-db = fruit
log-bin = /var/log/mysql-replication.log
binlog-do-db = fruit
Et j'ai configuré des utilisateurs et je peux me connecter de MySQL sur le serveur A à la base de données sur le serveur B en utilisant le nom d'utilisateur / mot de passe / adresse IP ci-dessus.
show master status
je voisEmpty set
. Déconcerté!Réponses:
Fait intéressant, j'ai mysql en cours d'exécution sur mon PC avec les journaux binaires non activés. J'ai fait ce qui suit:
Comme indiqué, puisque MySQL affiche "Empty Set" pour SHOW MASTER STATUS; car la journalisation binaire n'était pas activée. C'est évident étant donné la configuration que j'ai.
La première chose à faire est de vous assurer que le journal des erreurs a un dossier spécifique
Exécutez ensuite ce qui suit:
Ensuite, dans le client mysql, exécutez ces commandes SQL
Si vous obtenez la même sortie que j'avais auparavant, alors MySQL ne peut pas écrire de journaux binaires dans le dossier désigné. Votre dilemme devient pourquoi MySQL ne peut pas écrire dans / var / log.
Ce n'est pas une réponse complète mais j'espère que cela vous aidera.
la source
Si la version de Mysql est> 5.0, vos paramètres de réplication maître-hôte, maître-utilisateur, maître-mot de passe et quelques autres dans votre my.cnf seront ignorés. Utilisez CHANGE MASTER TO pour la configuration de réplication initiale.
Comparez http://dev.mysql.com/doc/refman/5.1/en/replication-howto-slaveinit.html
la source
Votre paramètre pour
log-bin
est incorrect, donc MySQL ne peut pas écrire de journaux binaires. Ce n'est pas un nom de fichier, c'est un modèle de nom de fichier partiel , auquel MySQL ajoutera un répertoire et ajoutera un numéro de séquence et une extension. Le réglage habituel est quelque chose commeConsultez le manuel.
la source
--log-bin=file_name
( dev.mysql.com/doc/refman/5.7/en/… ). Quel manuel indique qu'il ne s'agit pas d'un nom de fichier?