zdravim pratele,
mam tu mariadb server 10.0.28 (5.5.5-10.0.28-MariaDB-0ubuntu0.16.04.1) na linux serveru
snazim se rozchodit replikaci master-> slave na druhy server
postupuji podle navodu na https://mariadb.com/kb/en/mariadb/setting-up-replication/
asi je mozna trochu starsi
soubor /etc/mysql/my.cnf vypada malinko jinak, uz je nejak rozdeleny do vicero include souboru
snad spravne jsem pochopil, ze nastaveni prijde do /etc/mysql/mariadb.conf.d/50.server.cnf
odkomentuji radky, ktere tam byli jiz pripravene po instalaci
[mariadb]
#log-bin
#server_id=1
#log-basename=master1
#bind-address = 127.0.0.1
mam zakazane i kdy to verim, ze by v teto fazi vadit nemelo
zrestartuji sluzbu mysql
sudo service mysql restart ...
a pokud zadam v konzoli mysql
SHOW MASTER STATUS;
dostanu prazdny set
poradite prosim, co jsem vynechal ??
dekuji moc
show master status pouštíš na slave nebo na masteru?
no na masteru, ted jsem znejistel, ale pevne verim, ze je to dobre, protoze podel navodu bych tim mel zjistit ten nazev soubor s binlogem a zadat ho do cfg na slave
nebo jsem uplne mimo ?
Nevím co děláš špatně...
Debian 8 u mě:
Naedituju /etc/mysql/my.cnf:
V sekci [mysqld] zakomentuju
bind-address = 127.0.0.1
a přidávám řádky:
log-bin
server_id=1
log-basename=master1
restart mariadb...
show master status vrací:
+--------------------+----------+--------------+------------------+
| File | Position | Binlog_Do_DB | Binlog_Ignore_DB |
+--------------------+----------+--------------+------------------+
| mariadb-bin.000077 | 329 | | |
+--------------------+----------+--------------+------------------+
ha ono tam opravdu musi myt sekce [mysqld] a ne [mariadb]
tak jsu postupovat dal
DIKY MOC ale stejne z toho mam divny pocit ...
nejak se tam mixuje to mariadb a mysqld :(
tak jsem se prekvapive zasekl na konfiguraci slave :)
spustil jsem na slave v mysql konzoli (nastavene na ,uj system to mam spravne)
CHANGE MASTER TO
MASTER_HOST='master.domain.com',
MASTER_USER='replication_user',
MASTER_PASSWORD='bigs3cret',
MASTER_PORT=3306,
MASTER_LOG_FILE='mariadb-bin.000096',
MASTER_LOG_POS=568,
MASTER_CONNECT_RETRY=10;
kdyz na slave zkusim
SHOW SLAVE STATUS;
tak to vyhodi neco co vypada, jake ze se to spojilo a mohlo by to fungovat
akorat po spusteni
START SLAVE;
mi to nadava ze nemam nastavene server_id
zkousel jsem to natlacit jak do /etc/mysql/my.cnf tak do /etc/mysql/mariadb.conf.d/50.server.cnf
bud do sekce [mariadb] (jak zada oficialni dokumentace) nebo do sekce [mysqld] coz funguje byczechovi a nakonec o me na slave
ale ani jedna ze ctyr moznosti neslape, moc prosim o finalni radu
jinak binlog se plni jak divej, diky !
tak jsem to ZATIM vyresil tak, ze jsem spustl v MYSQL konzoli na slave
SET GLOBAL server_id=21
vim, je to tragicky reseni, ale na testy me prvni replikace to staci, pokud by nekdo vedel, kam vnutit na slave ten server_id budu neskonale vdecny
diky TH
Nebylo by lepsi zkusit Galera cluster?
galera, neni to kanon na vrabce, chci na to jit postupne a zlehka :)
Bug.
server-id = xx
Server-id je na slave i masteru úplně stejný konfigurační parametr (samozřejmě ne jeho hodnota :) ), tudíž ve stejné sekci [mysqld]. Slave může být současně slave pro jednu replikaci a master pro jinou - má jen jedno server-id.
Není to sice přímo k tématu ale úspěšně používáme Percona Server se dvěma replikami. Nastaveno podle vzoru naprosto bez problému. Už jsme jedenkrát přepínali naostro a je to záležitost na pár sekund. Ovšem pod tím sedí laděná MySQL ...
M.