start' >&2 ;; esac

Dodaj mysqld_multi storitev na privzeto runlevels z naslednjim ukazom:

update-rc.d mysqld_multi defaults

Znova zaženite računalnik in z naslednjim ukazom preverite, ali se izvajata oba primerka MySQL:

mysqld_multi report

Nastavite replikacijo glavni podrejeni

Zdaj, ko imamo dva primerka MySQL na istem računalniku, bomo prvi primerek nastavili kot glavni, drugega pa kot podrejenega.

Del konfiguracije je bil izveden že v poglavju “Nastavitev mysqld_multi”. Edina preostala sprememba my.cnf datoteka naj nastavi binarno beleženje na glavni enoti. Če želite to narediti, uredite my.cnf datoteka z naslednjimi spremembami in dopolnitvami v [mysqld1] skupina:

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

Znova zaženite glavni primerek MySQL, da bodo te spremembe začele veljati:

primer ocene stroškov programskega projekta
mysqld_multi stop 1 mysqld_multi start 1

Da se podrejeni lahko poveže z glavno enoto s pravilnimi privilegiji podvajanja, je treba na glavni enoti ustvariti novega uporabnika. Povežite se z glavnim primerkom z uporabo odjemalca MySQL z ustreznim gostiteljem in vrati:

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

Ustvari novega uporabnika za kopiranje:

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

Izhod iz odjemalca MySQL.

Za izdelavo izpisa glavnih podatkov izvedite naslednji ukaz:

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

Tu uporabimo možnost --master-data=2 da bi imeli komentar, ki vsebuje CHANGE MASTER izjavo v datoteki varnostne kopije. Ta komentar označuje koordinate replikacije v času varnostnega kopiranja in te koordinate bomo potrebovali pozneje za posodobitev glavnih informacij v podrejenem primerku. Tu je primer tega komentarja:

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

Dump, ki ste ga ustvarili v prejšnjem koraku, uvozite v podrejeni primerek:

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

Nazadnje, da se podrejeni primerek lahko poveže z glavnim primerkom, je treba glavne podatke o podrejenem posodabljati z ustreznimi parametri povezave.

Povežite se s podrejenim primerkom z odjemalcem MySQL z ustreznim gostiteljem in vrati:

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

Izvedite naslednji ukaz, da posodobite glavne podatke (vzemite koordinate replikacije iz datoteke izpisa replicationdump.sql, kot je razloženo zgoraj):

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;

Izvedite naslednji ukaz, da zaženete pomožni sistem:

mysql> START SLAVE;

Izvedite naslednji ukaz, da preverite, ali replikacija deluje in deluje:

mysql> SHOW SLAVE STATUS G

Vse čestitke. Vaša replikacija MySQL master-slave na istem računalniku je zdaj uspešno nastavljena.

Podvajanje MySQL master-slave

Zaviti

Kopiranje glavne in podrejene vsebine, konfigurirano v vašem razvojnem okolju, je koristno, če jo potrebujete za rešitev za razširitev v proizvodnem okolju. Tako boste imeli tudi ločene vire podatkov, konfigurirane za operacije pisanja in branja, tako da boste lahko lokalno preizkusili, da vse deluje po pričakovanjih pred nadaljnjo uvedbo.

Poleg tega boste morda želeli na isti napravi konfigurirati več primerkov podrejenega, da preizkusite izravnalnik obremenitve, ki bralne operacije porazdeli na več podrejenih. V tem primeru lahko z istim priročnikom nastavite druge podrejene primerke, tako da ponovite vse iste korake.