18.04 וטנובוא לע MySQL Master-Slave לופכש תא ןיקתהל דציכ


.רחא תרשמ םינותנה ידסמ לש קתעה רזחאל ןיידע ןתינ ןכש הרקמ םושב דוביאל ךלי אל לוכהש םישמתשמל ישפנ טקש ןתונ הז .םידבעה תמוצב םינותנה ידסמ תא רזחשל ןתינ ןיידע ,ישארה תמוצב לשכ לש הרקמבש ךכ תול

.18.04 וטנובוא תכרעמב MySQL םינותנ דסמ לש דבע-רטסאמ לופכש עצבל דציכ דמלת הז ךירדמב

.תואבה IP -ה תובותכ םע 18.04 וטנובוא תא םיצירמה םיתרש ינש ונל ויהי ,הנקתהב

Master server: 10.128.0.28
Slave server: 10.128.0.29

.וטנובואב דבע-רטסאמה לופכש תרדגה תא רידגהל לכונ דציכ הארנו המינפ לולצנ ואוב

םידבעו םיישאר םיתמצב MySQL תא ןקתה :1 בלש

.האבה apt הדוקפה תועצמאב םיתמצה ינש תא ןכדענ ואוב ,תישאר ךא .MySQL לש הנורחאה הסרגה תא ןיקתהל ךילע ,תוילאיצנטופ תויעב עונמלו תושדחה תונוכתה תא לצנל ידכ .MySQL לש 5.7 תסרג תא םיליכמ וטנובוא

$ sudo apt update

.הדוקפה תא עצב ,םיתמצה ינשב MySQL תא ןיקתהל ידכ

$ sudo apt install mysql-server mysql-client

.mysql לש הרוצתה ץבוק תא חתפ ,ןכמ רחאל

$ sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf

.ןלהל גצומש יפכ bind-address הנוכתה תא רתאו לולג ,ישארה תמוצב

bind-address 	 =127.0.0.1

.Master -ה תמוצ לש IP -ה תבותכל םיאתתש ךכ loopback -ה תבותכ תא הנש

bind-address  	=10.128.0.28

. 1 ךרעה תא הצקנ ואוב .רחא תרש ההזמ רפסמ םושל םיאתהל רומא אל רחבתש רפסמה . [mysqld] עטקב id-server ןייפאמל ךרע ןייצ ,ןכמ רחאל

server-id	 =1

.הטמל תורושה תא קבדהו קתעה ,הרוצתה ץבוק הצקב

log_bin = /var/log/mysql/mysql-bin.log
log_bin_index =/var/log/mysql/mysql-bin.log.index
relay_log = /var/log/mysql/mysql-relay-bin
relay_log_index = /var/log/mysql/mysql-relay-bin.index

.ישארה תמוצב ףקותל וסנכיי םייונישהש ידכ MySQL תוריש תא שדחמ לעפהו הרוצתה ץבוקמ אצ

$ sudo systemctl restart mysql

.הדוקפה תא איצוה ,יופצכ לעופ MySQL תרשש אדוול ידכ

$ sudo systemctl status mysql

!יופצכ לעופ MySQL תרש !םלשומ

ישארה תמוצב לופכשל שדח שמתשמ רוצ :2 בלש

.גצומש יפכ MySQL תרשל סנכיה ,תאז גישהל ידכ .ישארה תמוצב לופכש שמתשמ רוציל םיכלוה ונא ,הז קלחב

$ sudo mysql -u root -p

.ךלש IP -ה תבותכב שמתשהל רוכז .לופכשה דבעל השיג קינעהלו לפכושמ שמתשמ רוציל ידכ ןלהל תותליאשה תא עצבו ךשמה ,ןכמ רחאל

mysql> CREATE USER 'replication_user'@'10.128.0.29' IDENTIFIED BY 'replica_password';
mysql> GRANT REPLICATION SLAVE ON *.* TO 'replication_user '@'10.128.0.29';

.האבה הדוקפה תא לעפה ,ןכמ רחאל

mysql> SHOW MASTER STATUS\G

.הטמל תוארל לוכי התאש המל המוד תויהל ךירצ טלפה

.םידבעה תרש תרדגה תעב םיעירכמ ויהי הלא םיכרע . 1643 םוקימה ההזמ תאו mysql-bin.000002 ךרעה תא ןייצל בל םיש

MySQL םידבעה תרש תא רדגה :3 בלש

.MySQL לש הרוצתה ץבוק תא חתפ ,רטסאמה תרש םע ונישעש ומכו םידבעה תרשל אצ

$ sudo vim  /etc/mysql/mysql.conf.d/mysqld.cnf

.תואבה תורושה תא ךורעל ךשמה ,ישארה תרש ומכ קוידב

bind-address           = 10.128.0.29

. 2 םע ךלנ אוב .רחא ךרע רחב םעפה . [mysqld] עטקב id-code ןייפאמל ךרע ןייצ ,רבעב ומכ

server-id		=2 

.הרוצתה ץבוק ףוסב הטמל תורושה תא קבדה ,בוש

log_bin = /var/log/mysql/mysql-bin.log
log_bin_index =/var/log/mysql/mysql-bin.log.index
relay_log = /var/log/mysql/mysql-relay-bin
relay_log_index = /var/log/mysql/mysql-relay-bin.index

.םידבעה תמוצב MySQL תרש תא שדחמ לעפה ןכמ רחאל

$ sudo systemctl restart mysql

טסקטה ךרוע תא בזעו רומש ,םייסתש רחאל

.גצומש יפכ MySQL תפטעמל סנכיה ןכמ רחאל

$ sudo mysql -u root -p

.גצומש יפכ םידבעה יטוח תא רוצע ,תישאר לבא .ישארה תרשל רבחתהל םידבעה תרשל רשפאתש יהשלכ הרוצת עצבל ךילע היהי ,הז בלשב

mysql> STOP SLAVE; 

.הדוקפה תא לעפה ,רטסאמה תרש תא לפכשל םידבעה תרשל רשפאל ידכ

mysql> CHANGE MASTER TO MASTER_HOST ='10.128.0.28', MASTER_USER ='replication_user', MASTER_PASSWORD ='[email ', MASTER_LOG_FILE = 'mysql-bin.000002', MASTER_LOG_POS = 1643;

.םידבעה לופכשב שמתשמה תריצי רחאל גצוהש 1643 םוקימה ההזמו mysql-bin.00002 ךרעב ונשמתשה יכ הארת ,טוהל קיפסמ התא םא

.רטסאמה תרש לש המסיסהו לופכשה שמתשמ ,IP -ה תבותכב שומיש השענ ,ףסונב

.ןכל םדוק תקספהש רושרשה תא לחתה ,רתוי רחואמ

mysql> START SLAVE;

MySQL Master-Slave לופכש תא תמא :4 בלש

.MySQL Slave תרשב לפכושמ אוה םא קודבנו רטסאמה לע שדח םינותנ דסמ רוצינ ונא ,יופצכ תדבוע ןכא הנקתהה םא קודבל ידכ

.רטסאמה תרשב MySQL -ל סנכיה

$ sudo mysql -u root -p

.replication_db םשב םינותנ דסמ רוצינ ,הז הרקמב .הקידבל םינותנ דסמ רוצינ אוב

mysql> CREATE DATABASE replication_db;

.םידבעה תרשב ךלש MySQL עפומל סנכיה תעכ

$ sudo mysql -u root -p

.התליאשה תועצמאב םינותנה ידסמ תא םושר תעכ

mysql> SHOW DATABASES;

.םידבעה תרשל ולפכושי םינותנ דסמ יצבק לש םיקתוע ,יהשלכ הלקת לש הרקמבש חוטבו ךומס תויהל לוכי התא תעכ !יופצכ לעופ ךלש MySQL Master-slave -ה לופכש ! םיהדמ .דבע לע לפכוש רטסאמה לע תרצ

.18.04 וטנובוא לע MySQL Master-slave לופכש תנקתה רידגהל דציכ תדמל הז ךירדמב