How to Configure MySQL Database Replication with Master and Slave on CentOS
תוכן עניינים:
שכפול MySQL הוא תהליך המאפשר לך להעתיק נתונים אוטומטית משרת מסד נתונים אחד לשרת אחד או יותר.
MySQL תומך במספר טופולוגיות שכפול כאשר טופולוגיית Master / Slave היא אחת הטופולוגיות הידועות ביותר בהן שרת מסד נתונים אחד משמש כמאסטר, בעוד שרת אחד או יותר פועלים כעבדים. כברירת מחדל, השכפול הוא אסינכרוני, כאשר המאסטר שולח אירועים המתארים שינויים בבסיס הנתונים ליומן הבינארי שלו ועבדים מבקשים את האירועים כאשר הם מוכנים.
במדריך זה נסביר כיצד להגדיר שכפול של MySQL Master / Slave עם יחידת יחיד ושרת עבדים אחד ב- CentOS 7. אותם הצעדים חלים על MariaDB.
סוג זה של טופולוגיית שכפול מתאים ביותר לפריסה של העתקי קריאה לקנה מידה של קריאה, גיבוי מאגרי מידע חי לצורך התאוששות מאסון ועבודות ניתוח.
תנאים מוקדמים
בדוגמה זו אנו מניחים כי יש לך שני שרתים המריצים CentOS 7 שיכולים לתקשר זה עם זה ברשת פרטית. אם ספק האירוח שלך לא מספק כתובות IP פרטיות, אתה יכול להשתמש בכתובות ה- IP הציבוריות ולהגדיר את חומת האש שלך כך שתאפשר תנועה ביציאה 3306 ממקורות מהימנים בלבד.
לשרתים בדוגמה זו יש את ה- IP הבא:
Master IP: 192.168.121.59 Slave IP: 192.168.121.14
התקן את MySQL
ברירת המחדל של מאגרי CentOS 7 אינה כוללת חבילות MySQL ולכן אנו נתקין את MySQL ממאגר ה- Yum הרשמי שלהם. כדי להימנע מבעיות אנו נתקין את אותה גרסה 5.7 של MySQL בשני השרתים.
התקן את MySQL גם על שרתי ה- Master וגם על Slave:
sudo yum localinstall
sudo yum install mysql-community-server
לאחר השלמת ההתקנה, התחל את שירות MySQL והפעל אותו באופן אוטומטי באמצעות האתחול באמצעות:
sudo systemctl enable mysqld
sudo systemctl start mysqld
כאשר שרת MySQL מופעל לראשונה, נוצרת סיסמא זמנית עבור משתמש השורש MySQL. כדי למצוא את הסיסמה השתמש בפקודת grep הבאה:
sudo grep 'temporary password' /var/log/mysqld.log
הפעל את הפקודה
mysql_secure_installation
כדי להגדיר את סיסמת השורש החדשה שלך ולשפר את האבטחה של מופע MySQL:
mysql_secure_installation
הזן את סיסמת השורש הזמנית וענה
Y
(כן) לכל השאלות.
הגדר את תצורת השרת הראשי
ראשית, נקבע את התצורה של שרת ה- MySQL הראשי ונבצע את השינויים הבאים:
- הגדר את שרת MySQL להאזנה ב- IP הפרטי. הגדר מזהה שרת ייחודי. אפשר את רישום הבינארי.
לשם כך פתח את קובץ התצורה של MySQL והוסף את השורות הבאות בתיבה
קטע:
sudo nano /etc/my.cnf
master: /etc/my.cnf
bind-address = 192.168.121.59 server-id = 1 log_bin = mysql-bin
לאחר ביצוע הפעולה, הפעל מחדש את שירות MySQL כדי שהשינויים ייכנסו לתוקף
sudo systemctl restart mysqld
השלב הבא הוא ליצור משתמש שכפול חדש. היכנס לשרת MySQL כמשתמש הבסיס:
mysql -uroot -p
מתוך בקשת MySQL, הפעל את שאילתות ה- SQL הבאות שתיצור את המשתמש
REPLICATION SLAVE
ויעניק למשתמש את הרשאת ה-
REPLICATION SLAVE
:
CREATE USER 'replica'@'192.168.121.14' IDENTIFIED BY 'strong_password';
GRANT REPLICATION SLAVE ON *.* TO 'replica'@'192.168.121.14';
הקפד לשנות את ה- IP עם כתובת ה- IP של העבדים שלך. אתה יכול לתת שם למשתמש כרצונך.
כשאתה עדיין בתוך הפקודה MySQL, בצע את הפקודה הבאה שתדפיס את שם הקובץ והמיקום הבינאריים.
SHOW MASTER STATUS\G
*************************** 1. row *************************** File: mysql-bin.000001 Position: 1427 Binlog_Do_DB: Binlog_Ignore_DB: Executed_Gtid_Set: 1 row in set (0.00 sec)
שימו לב לשם הקובץ 'mysql-bin.000001' ומיקום '1427'. תזדקק לערכים אלה בעת קביעת התצורה של שרת העבדים. ערכים אלה ככל הנראה יהיו שונים בשרת שלך.
הגדר את תצורת שרת העבדים
בדומה לשרת הראשי שלמעלה, נבצע את השינויים הבאים בשרת העבדים:
- הגדר את שרת MySQL להאזנה ב- IPSet הפרטי, להגדיר שרת ייחודי הניתן לאפשרות הכניסה הבינארית
פתח את קובץ התצורה של MySQL וערוך את השורות הבאות:
sudo nano /etc/my.cnf
עבד: /etc/my.cnf
bind-address = 192.168.121.14 server-id = 2 log_bin = mysql-bin
הפעל מחדש את שירות MySQL:
sudo systemctl restart mysqld
השלב הבא הוא קביעת התצורה של הפרמטרים שבהם ישמש שרת העבדים כדי להתחבר לשרת הראשי. התחבר למעטפת MySQL:
mysql -uroot -p
ראשית, עצרו את חוטי העבדים:
STOP SLAVE;
הפעל את השאילתה הבאה שתגדיר את העבד לשכפול המאסטר:
CHANGE MASTER TO
MASTER_HOST='192.168.121.59',
MASTER_USER='replica',
MASTER_PASSWORD='strong_password',
MASTER_LOG_FILE='mysql-bin.000001',
MASTER_LOG_POS=1427;
ודא שאתה משתמש בכתובת ה- IP, שם המשתמש והסיסמה הנכונים. שם קובץ היומן והמיקום חייבים להיות זהים לערכים שהשגת משרת האב.
לאחר סיום, התחל את חוטי העבדים.
בדוק את התצורה
בשלב זה, עליך להתקין שכפול מאסטר / עבדים שכפול.
כדי לוודא שהכל עובד כצפוי, ניצור בסיס נתונים חדש בשרת הראשי:
mysql -uroot -p
CREATE DATABASE replicatest;
התחבר למעטפת MySQL של העבדים:
mysql -uroot -p
הפעל את הפקודה הבאה כדי לרשום את כל מסדי הנתונים:
SHOW DATABASES;
תבחין שבסיס הנתונים שיצרת בשרת הראשי משוכפל בעבדים:
+--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | replicatest | | sys | +--------------------+ 5 rows in set (0.00 sec)
סיכום
במדריך זה הראינו שתיצור שכפול של MySQL Master / Slave ב- CentOS 7.
אל תהסס להשאיר תגובה אם יש לך שאלות.
סנטוס mysql mariadbכיצד להגדיר את תצורת Windows Update ב- Windows Server
מאמר זה מציג כיצד להגדיר, להפעיל או להשבית את Windows Update ב- Windows Server, על-ידי עריכת הרישום של Windows
כיצד להגדיר את תצורת ה- Chromebook ככלי העזרה שלך
מחשבי Chromebook עוזרים לך ללמוד ואולי לקבל תעודה במבחן הבא שלך. אלה כמה כלים מעולים ותוספי דפדפן שעליך לבדוק.
כיצד להגדיר את תצורת
שכפול MySQL הוא תהליך המאפשר העתקה של נתונים משרת מסד נתונים אחד אוטומטית לשרת אחד או יותר. הדרכה זו מכסה דוגמה בסיסית לשכפול MySQL Master / Slave עם יחידת יחיד ושרת עבדים אחד באובונטו 18.04.