Zoals in mn vorige topic al vermeld wordt, wil ik een beetje met load-balancing gaan spelen.
Ik heb nu op beide servers MySQL 4.1 geinstalleerd en one-way replication al werkend gekregen dmv de MySQL manual & een tutorial op het Gentoo Forum.
Ook ben ik door middel van het .plan van een tijdje geleden een heel stuk wijzer geworden
Nou las ik al een paar dingen op het Gentoo Forum & de MySQL manual
)
Nou heb ik op beide systemen in de my.cnf het volgende:
server-id = 2
master-host = 192.168.1.121
master-user = rep
master-password = ******
master-connect-retry = 30
replicate-do-db = djuri
log-bin=/var/log/mysql/binary/mysql_binary_log
binlog-do-db=djuri
met als enige verschillen uiteraard de server-id, master-host (en master-password)
Als ik echter een CREATE TABLE/INSERT INTO doe, op server 2 (die bij de one-way replication de slave was), wordt server 1 niet gesynched.
als ik show master status doe op beide servers geven ze de goede output:
sever 1:
server 2:
waar kan het aan liggen?
Ik heb nu op beide servers MySQL 4.1 geinstalleerd en one-way replication al werkend gekregen dmv de MySQL manual & een tutorial op het Gentoo Forum.
Ook ben ik door middel van het .plan van een tijdje geleden een heel stuk wijzer geworden
Nou las ik al een paar dingen op het Gentoo Forum & de MySQL manual
The replicated information on the master and the slave is the same, it's like a mirror. You may not edit the replicated data on the slave with normal clients, or things will get messed up (there is a server option to prevent that from happening accidentally). The master gets edited and the changes get propagated to the slave, not the other way around.
Nou zal ik deze systemen (voorlopig) niet in production zetten, ze zijn gewoon om load balacing uit te proberen. Er zullen ook vrij weinig dezelfde tabellen tegelijkertijd geupdate worden, het gaat mij voornamelijk om dat je twee identieke databases hebben op verschillende systemen die zichzelf bijhouden zodat, als er eentje uitvalt alle data nog beschikbaar is, en zodra eent van de twee even offline is, de andere "alleen" wordt gelaten met alle queries, en als hij weer online komt alle "gemiste" data weer synched met de andere server. Zeg maar een soort RAID 1 maar dan voor databases (RAIDBQ: What issues should I be aware of when setting up two-way replication?
A: MySQL replication currently does not support any locking protocol between master and slave to guarantee the atomicity of a distributed (cross-server) update. In other words, it is possible for client A to make an update to co-master 1, and in the meantime, before it propagates to co-master 2, client B could make an update to co-master 2 that makes the update of client A work differently than it did on co-master 1. Thus, when the update of client A makes it to co-master 2, it produces tables that are different than what you have on co-master 1, even after all the updates from co-master 2 have also propagated. This means that you should not co-chain two servers in a two-way replication relationship unless you are sure that your updates can safely happen in any order, or unless you take care of mis-ordered updates somehow in the client code.
You must also realize that two-way replication actually does not improve performance very much (if at all), as far as updates are concerned. Both servers need to do the same number of updates each, as you would have one server do. The only difference is that there is a little less lock contention, because the updates originating on another server are serialized in one slave thread. Even this benefit might be offset by network delays.
Nou heb ik op beide systemen in de my.cnf het volgende:
server-id = 2
master-host = 192.168.1.121
master-user = rep
master-password = ******
master-connect-retry = 30
replicate-do-db = djuri
log-bin=/var/log/mysql/binary/mysql_binary_log
binlog-do-db=djuri
met als enige verschillen uiteraard de server-id, master-host (en master-password)
Als ik echter een CREATE TABLE/INSERT INTO doe, op server 2 (die bij de one-way replication de slave was), wordt server 1 niet gesynched.
als ik show master status doe op beide servers geven ze de goede output:
sever 1:
code:
1
2
3
4
5
6
7
| mysql> show master status; +-------------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +-------------------------+----------+--------------+------------------+ | mysql_binary_log.000008 | 417 | djuri | | +-------------------------+----------+--------------+------------------+ 1 row in set (0.00 sec) |
server 2:
code:
1
2
3
4
5
6
7
| mysql> show master status; +-------------------------+----------+--------------+------------------+ | File | Position | Binlog_Do_DB | Binlog_Ignore_DB | +-------------------------+----------+--------------+------------------+ | mysql_binary_log.000004 | 775 | djuri | | +-------------------------+----------+--------------+------------------+ 1 row in set (0.01 sec) |
waar kan het aan liggen?
[ Voor 21% gewijzigd door Verwijderd op 18-04-2005 07:11 . Reden: crap drukte op verstuur ipv bekijk, nu staat het hele bericht er wel :) ]