Précédent   Forum des professionnels en informatique > Bases de données > MySQL > SQL Procédural
SQL Procédural Forum d'entraide sur les triggers, les procédures stockées et les fonctions en MySQL
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 16/03/2007, 14h38   #1
Invité régulier
 
Inscription : janvier 2006
Messages : 15
Détails du profil
Informations forums :
Inscription : janvier 2006
Messages : 15
Points : 6
Points : 6
Par défaut Automatisation de la réplication

Bonjour,

Je souhaiterais sécuriser une base de données afin de n'avoir aucun risque de perte en cas de crash d'une machine.
J'ai donc mis en place un mécanisme de réplication entre 2 serveurs.

La réplication fonctionne lorsque j'utilise la commande "LOAD DATA FROM MASTER" sur l'esclave : toutes les données du serveur mâitre sont copiées sur le slave.

Mon problème est que je n'arrive pas à automatiser cette réplication afin que la base de données esclave se synchronise à chaque modification de la base de données maître.
Quelqu'un aurait-il une idée, SVP ?

Voici les fichiers de configuration my.cnf de chacune des 2 machines :
Sur le maître :
Citation:
[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
log-bin=MAMACHINE-MASTER
server-id=1
report-host=10.142.42.11

#If set, allows showing user and password via SHOW SLAVE HOSTS on master.
show-slave-auth-info

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
Sur l'esclave :
Citation:
[mysqld]
datadir=/var/lib/mysql
server-id=2

master-host=10.142.42.12
master-user=replicuser
master-host=passreplic

[mysql.server]
user=mysql
basedir=/var/lib

[safe_mysqld]
err-log=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid

Je vous remercie d'avance pour votre aide !
Laure13 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/03/2007, 17h50   #2
Membre éclairé
 
Inscription : février 2005
Messages : 349
Détails du profil
Informations personnelles :
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : février 2005
Messages : 349
Points : 358
Points : 358
quel est le résultat de la commande show slave status sur ton esclave?

ast tu penser a regarder le fichier err dans data? donne nous ce qui a dedans?
overider est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 16/04/2007, 23h03   #3
Invité de passage
 
Inscription : avril 2007
Messages : 1
Détails du profil
Informations forums :
Inscription : avril 2007
Messages : 1
Points : 1
Points : 1
Par défaut replication mysql

Bonjour,

J'éssaye de faire une réplication mysql.

J’utilise la version mysql 5.0.22-debian_0ubuntu6.

Sur le maître j’ai fait

mysql> grant replication slave on *.* to 'replication'@XX.XX.XX.1 identified by 'password';

Une partie du fichier my.cnf du master :

[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
#
server-id = 1
log-bin = /var/log/mysql/mysql-bin.log
expire-logs-days = 20
max_binlog_size = 104857600
binlog-do-db = radius
#binlog-ignore-db = include_database_name
#

Voici les infos qui s'affichent en tapant show master status\G):

mysql> show master status\G;
*************************** 1. row ***************************
File: mysql-bin.000001
Position: 98
Binlog_Do_DB: radius,radius
Binlog_Ignore_DB:
1 row in set (0.21 sec)

ERROR:
No query specified

Sur l’esclave j’ai fait

mysql> change master to master_host = 'XX.XX.XX.2' , master_user = 'replication', master_password = 'password', master_log_file = 'mysql-bin.000001', master_log_pos = 98;

Une partie du fichier my.cnf de l’esclave:

[mysqld]
#
# * Basic Settings
#
user = mysql
pid-file = /var/run/mysqld/mysqld.pid
socket = /var/run/mysqld/mysqld.sock
port = 3306
basedir = /usr
datadir = /var/lib/mysql
tmpdir = /tmp
language = /usr/share/mysql/english
skip-external-locking
#
server-id = 2
log-bin = /var/log/mysql/mysql-bin.log
expire-logs-days = 20
max_binlog_size = 104857600
binlog-do-db = radius
#binlog-ignore-db = include_database_name


Voici les infos qui s'affichent en tapant show slave status\G :


mysql> show slave status\G;
*************************** 1. row ***************************
Slave_IO_State: Connecting to master
Master_Host: XX.XX.XX.2
Master_User: replication
Master_Port: 3306
Connect_Retry: 60
Master_Log_File: mysql-bin.000001
Read_Master_Log_Pos: 98
Relay_Log_File: radius1-relay-bin.000004
Relay_Log_Pos: 98
Relay_Master_Log_File: mysql-bin.000001
Slave_IO_Running: No
Slave_SQL_Running: Yes
Replicate_Do_DB:
Replicate_Ignore_DB:
Replicate_Do_Table:
Replicate_Ignore_Table:
Replicate_Wild_Do_Table:
Replicate_Wild_Ignore_Table:
Last_Errno: 0
Last_Error:
Skip_Counter: 0
Exec_Master_Log_Pos: 484
Relay_Log_Space: 98
Until_Condition: None
Until_Log_File:
Until_Log_Pos: 0
Master_SSL_Allowed: No
Master_SSL_CA_File:
Master_SSL_CA_Path:
Master_SSL_Cert:
Master_SSL_Cipher:
Master_SSL_Key:
Seconds_Behind_Master: NULL
1 row in set (0.00 sec)

ERROR:
No query specified

###############

Je trouve

Slave_IO_Running: No

j’ai fait stp slave et start slave mais rien ne change

Slave_IO_Running: No

J’ai redémarrer mysql mais rien ne change

Slave_IO_Running: No


Mais pourquoi ???????????

Si quelqu’un à une idée

Aidez moi svp

Merci

Amine
jesuisok est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 17/04/2007, 09h58   #4
Nouveau Membre du Club
 
Inscription : octobre 2006
Messages : 63
Détails du profil
Informations personnelles :
Âge : 30
Localisation : France, Loire Atlantique (Pays de la Loire)

Informations forums :
Inscription : octobre 2006
Messages : 63
Points : 36
Points : 36
Envoyer un message via MSN à dekovince
je crois que pour automatise ta replication, tu dois te faire un script avec style mysqldump, qu'apres tu lance une tache planifier dessus !!

voila si j ai pas raconter trop de betises (j espere) !!
dekovince est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 18/04/2007, 12h43   #5
Membre éclairé
 
Inscription : février 2005
Messages : 349
Détails du profil
Informations personnelles :
Localisation : France, Vaucluse (Provence Alpes Côte d'Azur)

Informations forums :
Inscription : février 2005
Messages : 349
Points : 358
Points : 358
salut

Slave I/O runing indique le plus souvent que la socket est pas ouverte.
as tu essayé de te connecter à ton maitre depuis ton esclave manuellement?
depuis ton esclave : mysql -ureplication -ppassword -hIp_du_master


Il me faudrait aussi le contenu de ton master.info ainsi que le contenu du fichier de log : généralement nom_du_pc.err.


je pense qu'il y a également un souci avec le user que tu utilisé pour la réplication
sur le master :
Citation:
grant replication slave on *.* to 'replication'@XX.XX.XX.1 identified by 'password';
sur l'esclave :
Citation:
master-host=10.142.42.12
master-user=replicuser
master-host=passreplic
il faut que ce soit en adéquation.
Il faut également que le user soit crée


dekovince =>
Citation:
je crois que pour automatise ta replication, tu dois te faire un script avec style mysqldump, qu'apres tu lance une tache planifier dessus !!

voila si j ai pas raconter trop de betises (j espere) !!
Désolé de t'apprendre ça mais tu dis des betises
overider est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 21h18.


 
 
 
 
Partenaires

Hébergement Web