Avatar billede mjansen Seniormester
25. april 2012 - 11:28 Der er 12 kommentarer og
1 løsning

Valg af database på centos

Hej

Jeg har behov for at oprette et redundant server system med 2-3 serverer, som bl.a. skal kører database.

Jeg skal kunne skrive data til databasen på alle serverne som så automatisk synkronyser med de andre server, kan man det og hvilken database skal jeg bruge til det?
Avatar billede arne_v Ekspert
25. april 2012 - 14:13 #1
Database active-active cluster er lidt tricky.

Du kan faa en MySQL udgave som kan det.

Men det er langt mere almindeligt at have en master og N-1 slaver, hvor alle updates gaar til master, men queries kan gaa til alle N systemer. Det kraever saa lidt haandtering af failover, men det er der loesninger for.
Avatar billede mjansen Seniormester
25. april 2012 - 16:29 #2
hvad så når min master går ned, strøm svigt eller netværknedbrud. Hvor skal jeg så skrive data til?
Avatar billede arne_v Ekspert
25. april 2012 - 16:52 #3
saa forefremmes en af slaverne til master
Avatar billede mjansen Seniormester
25. april 2012 - 17:27 #4
automatisk ?
Avatar billede arne_v Ekspert
25. april 2012 - 17:35 #5
Avatar billede mjansen Seniormester
25. april 2012 - 18:25 #6
Jeg har fundet den her på nettet er det helt håbløst?

http://gembuls.wordpress.com/2011/03/06/mysql-master-master-replication-on-centos/
Avatar billede arne_v Ekspert
25. april 2012 - 23:33 #7
Det er ikke den mest brugte metode, men du kan jo se om du kan faa det til at virke.
Avatar billede mjansen Seniormester
26. april 2012 - 08:32 #8
Har kæmpet med den uden held, men billedet viser jo det jeg vil :-)

Er der en guide du kan anbefale ?
Avatar billede mjansen Seniormester
26. april 2012 - 12:19 #9
Jeg er nået til følgende punkt i vejledningen:

Setup slave replication on master 1:
CHANGE MASTER TO MASTER_HOST = '192.168.2.200', MASTER_USER = 'mit_brugernavn', MASTER_PASSWORD = 'password', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS=98;

Som jeg forstår det fra andet jeg har læst skal MASTER_LOG_FILE og MASTER_LOG_POS passe til logfilen på den modsatte master, og kan ses med SHOW MASTER STATUS, på den anden server er det ikke korrekt?

I så fald bliver både MASTER_LOG_FILE og MASTER_LOG_POS ens på begge server men det er vel heller ikke noget problem?

Når jeg så forsøger at afvikle stringen får jeg følgende fejl:

ERROR 1198 (HY000): This operation cannot be performed with a running slave; run STOP SLAVE first

Hvis jeg så vil stoppe SLAVE som jeg ikke kan se hvorfor skulle kører får jeg følgende fejl:

ERROR 1192 (HY000): Can't execute the given command because you have active locked tables or an active transaction

Laver så en : UNLOCK TABLES;

hvorefter jeg kan lave: STOP SLAVE;

og til sidst kører: CHANGE MASTER TO MASTER_HOST = '192.168.2.200', MASTER_USER = 'mit_brugernavn', MASTER_PASSWORD = 'password', MASTER_LOG_FILE = 'mysql-bin.000001', MASTER_LOG_POS=98;

Starter så slave igen som ifølge vejledningen

laver en SHOW SLAVE STATUS\G

men får så følgende fejl:
Last_IO_Errno: 2013
Last_IO_Error: error connecting to master 'mit_brugernavn@192.168.2.42:3306' - retry-time: 30  retries: 86400

Jeg kan heller ikke logge på den modsatte mysql server med:

mysql -h hostname -u root -p
eller
mysql -h hostname -u mit_brugernavn -p
Avatar billede mjansen Seniormester
26. april 2012 - 16:40 #10
Problemet var firewall som skulle åbnes

efterfølgende var det problemmer med rettigheder, men nu starter de op uden fejl.

Så glæder mig til at se om det virker.
Avatar billede mjansen Seniormester
26. april 2012 - 21:47 #11
Næste fejl

SHOW SLAVE STATUS\G
----------------------------------
Slave_IO_State: Waiting to reconnect after a failed master event read

????
Avatar billede mjansen Seniormester
26. april 2012 - 23:03 #12
hmm det er stadig en fejl med rettigheder....

jeg kan du connect til databasen på den anden server via:
mysql -h xxx.xxx.xxx.xxx -u navn -p

men kan så ikke vælge database:
USE test_db;

ERROR 1044 (42000): Access denied for user 'navn'@'xxx.xxx.xxx.xxx' to database 'test_db'

hvordan får jeg sat de rigtige rettigheder op ?
Avatar billede mjansen Seniormester
27. april 2012 - 22:45 #13
Jamen så virker det, så skal det bare testes i virkligheden!
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Computerworld tilbyder specialiserede kurser i database-management

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester