start' >&2 ;; esac

Dodaj mysqld_multi usluga prema zadanim runlevels sa sljedećom naredbom:

update-rc.d mysqld_multi defaults

Ponovo pokrenite svoj stroj i provjerite rade li obje MySQL instance pomoću sljedeće naredbe:

mysqld_multi report

Postavljanje replikacije Master-slave

Sada, kada imamo dvije MySQL instance koje se izvode na istom stroju, postavit ćemo prvu instancu kao master, a drugu kao slave.

Jedan dio konfiguracije već je izveden u poglavlju 'Postavljanje mysqld_multi'. Jedina preostala promjena u my.cnf datoteka je postavljanje binarne prijave na master. Da biste to učinili, uredite my.cnf datoteka sa sljedećim izmjenama i dopunama u [mysqld1] skupina:

log_bin = /var/log/mysql/mysql-bin.log innodb_flush_log_at_trx_commit = 1 sync_binlog = 1 binlog-format = ROW

Ponovo pokrenite glavnu instancu MySQL kako bi ove promjene stupile na snagu:

mysqld_multi stop 1 mysqld_multi start 1

Da bi se podređeni povezao s glavnim upravljačem s ispravnim privilegijama replikacije, na masteru treba stvoriti novog korisnika. Povežite se s glavnom instancom pomoću MySQL klijenta s odgovarajućim hostom i portom:

mysql -uroot -p --host=127.0.0.1 --port=3306

Stvorite novog korisnika za replikaciju:

mysql> CREATE USER 'replication'@'%' IDENTIFIED BY 'replication'; mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication'@'%';

Izlaz iz MySQL klijenta.

Izvršite sljedeću naredbu kako biste stvorili dump matičnih podataka:

mysqldump -uroot -p --host=127.0.0.1 --port=3306 --all-databases --master-data=2 > replicationdump.sql

Ovdje koristimo opciju --master-data=2 kako bi imali komentar koji sadrži CHANGE MASTER izjava unutar datoteke sigurnosne kopije. Taj komentar ukazuje na koordinate replikacije u vrijeme izrade sigurnosne kopije, a te koordinate trebat će nam kasnije za ažuriranje glavnih podataka u pomoćnoj instanci. Evo primjera tog komentara:

-- -- Position to start replication or point-in-time recovery from -- -- CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=349;

Uvezite deponij koji ste stvorili u prethodnom koraku u podređenu instancu:

mysql -uroot -p --host=127.0.0.1 --port=3307

Konačno, da bi se podređena instanca povezala s glavnom instancom, glavne informacije o podređenom sustavu moraju se ažurirati odgovarajućim parametrima veze.

Spojite se na slave primjerak pomoću MySQL klijenta s odgovarajućim hostom i portom:

mysql -uroot -p --host=127.0.0.1 --port=3307

Izvršite sljedeću naredbu kako biste ažurirali glavne podatke (uzmite koordinate replikacije iz datoteke izvatka replicationdump.sql, kako je gore objašnjeno):

mysql> CHANGE MASTER TO -> MASTER_HOST='127.0.0.1', -> MASTER_USER='replication', -> MASTER_PASSWORD='replication', -> MASTER_LOG_FILE='mysql-bin.000001', -> MASTER_LOG_POS=349;

Izvršite sljedeću naredbu da biste pokrenuli slave:

mysql> START SLAVE;

Izvršite sljedeću naredbu kako biste provjerili radi li replikacija:

mysql> SHOW SLAVE STATUS G

Čestitamo. Vaša replika MySQL master-slave na istom stroju sada je uspješno postavljena.

MySQL replikacija master-slave

Zamotati

Imati glavno-podređenu replikaciju konfiguriranu u vašem razvojnom okruženju korisno je ako vam treba za rješenje za smanjenje u proizvodnom okruženju. Na taj ćete način imati i zasebne izvore podataka konfigurirane za operacije pisanja i čitanja, tako da možete lokalno testirati da li sve funkcionira prema očekivanjima prije daljnjeg postavljanja.

Uz to, možda ćete htjeti konfigurirati nekoliko instanci slave na istom stroju za testiranje uravnoteživača opterećenja koji distribuira operacije čitanja na nekoliko slave uređaja. U tom slučaju, možete koristiti isti priručnik za postavljanje drugih podređenih instanci ponavljanjem svih istih koraka.