How To Configure MySQL Master-Slave Replication on Ubuntu 18.04
תוכן עניינים:
שכפול MySQL הוא תהליך המאפשר העתקה של נתונים משרת מסד נתונים אחד אוטומטית לשרת אחד או יותר.
MySQL תומך במספר טופולוגיות שכפול כאשר טופולוגיית Master / Slave היא אחת הטופולוגיות הידועות ביותר בהן שרת מסד נתונים אחד משמש כמאסטר, בעוד שרת אחד או יותר פועלים כעבדים. כברירת מחדל, השכפול הוא אסינכרוני, כאשר המאסטר שולח אירועים המתארים שינויים בבסיס הנתונים ליומן הבינארי שלו ועבדים מבקשים את האירועים כאשר הם מוכנים.
הדרכה זו מכסה דוגמה בסיסית לשכפול MySQL Master / Slave עם יחידת יחיד ושרת עבדים אחד באובונטו 18.04. אותם צעדים חלים על MariaDB.
סוג זה של טופולוגיית שכפול מתאים ביותר לפריסה של העתקי קריאה לקנה מידה של קריאה, גיבוי מאגרי מידע חי לצורך התאוששות מאסון ועבודות ניתוח.
תנאים מוקדמים
דוגמה זו מניחה שיש לך שני שרתים שמריצים את אובונטו 18.04, שיכולים לתקשר זה עם זה ברשת פרטית. אם ספק האירוח שלך אינו מציע כתובות IP פרטיות, אתה יכול להשתמש בכתובות ה- IP הציבוריות ולהגדיר את חומת האש שלך כך שתאפשר תנועה ביציאה 3306 ממקורות מהימנים בלבד.
לשרתים בדוגמה זו יש את ה- IP הבא:
Master IP: 192.168.121.190 Slave IP: 192.168.121.236
התקן את MySQL
ברירת המחדל של מאגרי Ubuntu 18.04 כוללת את MySQL גרסה 5.7. כדי להימנע מבעיות כלשהן, עדיף להתקין את אותה גרסת MySQL בשני השרתים.
התקן את MySQL בשרת הראשי:
sudo apt-get update
sudo apt-get install mysql-server
התקן את MySQL בשרת העבדים באמצעות אותן פקודות:
sudo apt-get update
sudo apt-get install mysql-server
הגדר את תצורת השרת הראשי
השלב הראשון הוא להגדיר את תצורת שרת ה- MySQL הראשי. נבצע את השינויים הבאים:
- הגדר את שרת MySQL להאזנה ב- IP הפרטי. הגדר מזהה שרת ייחודי… הפעל את רישום הבינארי
לשם כך פתח את קובץ התצורה של MySQL ואת ביטול ההסרה או הגדר את הדברים הבאים:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
master: /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.121.190 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log
לאחר ביצוע הפעולה, הפעל מחדש את שירות MySQL כדי שינויים ייכנסו לתוקף:
sudo systemctl restart mysql
השלב הבא הוא ליצור משתמש שכפול חדש. היכנס לשרת MySQL כמשתמש השורש על ידי הקלדה:
sudo mysql
מתוך בקשת MySQL, הפעל את שאילתות ה- SQL הבאות שתיצור את המשתמש
REPLICATION SLAVE
ויעניק למשתמש את הרשאת ה-
REPLICATION SLAVE
:
CREATE USER 'replica'@'192.168.121.236' IDENTIFIED BY 'replica_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.236';
הקפד לשנות את ה- IP עם כתובת ה- IP של העבדים שלך. אתה יכול לתת שם למשתמש כרצונך.
כשאתה עדיין בתוך הפקודה MySQL, בצע את הפקודה הבאה שתדפיס את שם הקובץ והמיקום הבינאריים.
SHOW MASTER STATUS\G
*************************** 1. row *************************** File: mysql-bin.000001 Position: 629 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)
שימו לב לשם הקובץ 'mysql-bin.000001' ומיקום '629'. תזדקק לערכים אלה בעת קביעת התצורה של שרת העבדים. ערכים אלה ככל הנראה יהיו שונים בשרת שלך.
הגדר את תצורת שרת העבדים
בדומה לשרת הראשי שלמעלה, נבצע את השינויים הבאים בשרת העבדים:
- הגדר את שרת MySQL להאזנה ב- IPSet הפרטי, להגדיר שרת ייחודי הניתן לאפשרות הכניסה הבינארית
פתח את קובץ התצורה של MySQL וערוך את השורות הבאות:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
עבד: /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address = 192.168.121.236 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log
הפעל מחדש את שירות MySQL:
sudo systemctl restart mysql
השלב הבא הוא קביעת התצורה של הפרמטרים שבהם ישמש שרת העבדים כדי להתחבר לשרת הראשי. התחבר למעטפת MySQL:
sudo mysql
ראשית, עצרו את חוטי העבדים:
STOP SLAVE;
הפעל את השאילתה הבאה שתגדיר את העבד לשכפול המאסטר:
CHANGE MASTER TO
MASTER_HOST='192.168.121.190',
MASTER_USER='replica',
MASTER_PASSWORD='replica_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=629;
ודא שאתה משתמש בכתובת ה- IP, שם המשתמש והסיסמה הנכונים. שם קובץ היומן והמיקום חייבים להיות זהים לערכים שהשגת משרת האב.
לאחר סיום, התחל את חוטי העבדים.
בדוק את התצורה
בשלב זה, עליך להתקין שכפול מאסטר / עבדים שכפול.
כדי לוודא שהכל עובד כצפוי, ניצור בסיס נתונים חדש בשרת הראשי:
sudo mysql
CREATE DATABASE replicatest;
התחבר למעטפת MySQL של העבדים:
sudo mysql
הפעל את הפקודה הבאה כדי לרשום את כל מסדי הנתונים:
SHOW DATABASES;
תבחין שבסיס הנתונים שיצרת בשרת הראשי משוכפל בעבדים:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)
סיכום
במדריך זה הראינו שתיצור שכפול של MySQL Master / Slave.
אל תהסס להשאיר תגובה אם יש לך שאלות.
אובונטו mysql mariadbכיצד להגדיר את תצורת Windows Update ב- Windows Server
מאמר זה מציג כיצד להגדיר, להפעיל או להשבית את Windows Update ב- Windows Server, על-ידי עריכת הרישום של Windows
כיצד להגדיר את תצורת ה- Chromebook ככלי העזרה שלך
מחשבי Chromebook עוזרים לך ללמוד ואולי לקבל תעודה במבחן הבא שלך. אלה כמה כלים מעולים ותוספי דפדפן שעליך לבדוק.
כיצד להגדיר את תצורת
שכפול MySQL הוא תהליך המאפשר לך להעתיק נתונים אוטומטית משרת מסד נתונים אחד לשרת אחד או יותר. במדריך זה נסביר כיצד להגדיר שכפול של MySQL Master / Slave עם יחידת יחיד ושרת עבדים אחד ב- CentOS 7.