אנדרואיד

כיצד לקבוע את התצורה של המאסטר mysql (mariadb)

MySQL (MariaDB) Upgrade 10.1 auf 10.4 unter Debian 9.x / 10.x, Ubuntu, RedHat RHEL und CentOS

MySQL (MariaDB) Upgrade 10.1 auf 10.4 unter Debian 9.x / 10.x, Ubuntu, RedHat RHEL und CentOS

תוכן עניינים:

Anonim

שכפול MySQL הוא תהליך של העתקת נתונים משרת מסד נתונים אחד (אב) לשרת אחד או יותר (עבדים).

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

במדריך זה אנו נראה לך כיצד להגדיר שכפול של MariaDB Master / Slave באמצעות יחידת יחיד ושרת עבדים אחד ב- Debian 10. MariaDB הוא יישום ברירת המחדל של MySQL ב- Debian. אותם צעדים חלים על Oracle MySQL.

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

תנאים מוקדמים

אנו מניחים שיש לך שני שרתים שמריצים את Debian 10, ומתקשרים זה עם זה ברשת פרטית. אם ספק האירוח שלך אינו תומך בכתובות IP פרטיות, אתה יכול להשתמש בכתובות ה- IP הציבוריות ולהגדיר את חומת האש שלך כך שתאפשר תנועה ביציאה 3306 ממקורות מהימנים בלבד.

לשרתים המשמשים בדוגמה זו יש כתובות IP הבאות:

Master IP: 10.10.8.12 Slave IP: 10.10.8.164

התקנת MariaDB

ברירת המחדל של מאגני ה- Debian 10 כוללת את MariaDB גרסה 10.3. עדיף להתקין את אותה גרסת MariaDB בשני השרתים כדי למנוע בעיות אפשריות.

התקן את MariaDB הן על המאסטר והן על העבד על ידי מתן הפקודות הבאות:

sudo apt-get update sudo apt-get install mariadb-server

קביעת תצורה של שרת הראשי

השלב הראשון הוא הגדרת שרת הראשי. נבצע את השינויים הבאים:

  • הגדר את שרת MariaDB להאזנה ב- IP הפרטי. הגדר מזהה שרת ייחודי. אפשר רישום בינארי.

פתח את קובץ התצורה של MariaDB וביטול הפרעה או הגדר את השורות הבאות:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf master: /etc/mysql/mariadb.conf.d/50-server.cnf

bind-address = 10.10.8.12 server-id = 1 log_bin = /var/log/mysql/mysql-bin.log

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

sudo systemctl restart mariadb

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

sudo mysql

הפעל את שאילתות ה- SQL הבאות כדי ליצור משתמש בשם replica ולהעניק למשתמש את הרשאת ה- REPLICATION SLAVE :

CREATE USER 'replica'@'10.10.8.164' IDENTIFIED BY 'replica_password';

GRANT REPLICATION SLAVE ON *.* TO 'replica'@'10.10.8.164'; הקפד לשנות את ה- IP עם כתובת ה- IP של העבדים שלך. אתה יכול לתת שם למשתמש כרצונך.

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

SHOW MASTER STATUS\G

*************************** 1. row *************************** File: mysql-bin.000001 Position: 328 Binlog_Do_DB: Binlog_Ignore_DB: 1 row in set (0.001 sec)

שימו לב לשם הקובץ 'mysql-bin.000001' ומיקום '328'. ערכים אלה נחוצים בעת קביעת התצורה של שרת העבדים וכנראה שיהיו שונים בשרת שלך.

הגדרת תצורת שרת העבדים

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

  • הגדר את שרת MySQL להאזנה ב- IP הפרטי. הגדר מזהה שרת ייחודי. אפשר רישום בינארי.

פתח את קובץ התצורה של MariaDB וערוך את השורות הבאות:

sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf slave: /etc/mysql/mariadb.conf.d/50-server.cnf

bind-address = 10.10.8.164 server-id = 2 log_bin = /var/log/mysql/mysql-bin.log

הפעל מחדש את שירות MariaDB:

sudo systemctl restart mariadb

השלב הבא הוא קביעת התצורה של הפרמטרים שבהם ישמש שרת העבדים כדי להתחבר לשרת הראשי. התחבר למעטפת MariaDB:

sudo mysql

התחל על ידי עצירת חוטי העבדים:

STOP SLAVE;

הפעל את השאילתה הבאה כדי להגדיר את שכפול המאסטר / העבדים:

CHANGE MASTER TO MASTER_HOST='10.10.8.12', MASTER_USER='replica', MASTER_PASSWORD='replica_password', MASTER_LOG_FILE='mysql-bin.000001', MASTER_LOG_POS=328;

ודא שאתה משתמש בכתובת ה- IP, שם המשתמש והסיסמה הנכונים. שם קובץ היומן והמיקום חייבים להיות זהים לערכים שהשגת משרת האב.

לאחר שתסיים, התחל את חוטי העבדים.

START SLAVE;

בדוק את התצורה

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

כדי לוודא שהכל מוגדר כהלכה, צור בסיס נתונים חדש בשרת הראשי:

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)

סיכום

במדריך זה הראינו שתיצור שכפול מאסטר / עבד של MariaDB ב- Debian 10.

אל תהסס להשאיר תגובה אם יש לך שאלות.

דביאן mysql mariadb