שאלה כיצד לחבר את שרת MySQL ליותר מכתובת IP אחת?


האם יש דרך סודית לחבר את MySQL ליותר מכתובת IP אחת?

עד כמה שאני יכול לראות את כתובת איגוד פרמטר ב- my.cnf אינו תומך ביותר מ- IP אחד ולא ניתן לקבל אותו יותר מפעם אחת.


246
2017-09-02 16:04






תשובות:


לא, אין (רק בדקתי לפני שעה). אתה יכול להגיב על bind כתובת my.cnf:

#skip-networking
#bind-address                   = 127.0.0.1

אם אתה רוצה רק 2 כתובות IP, יהיה עליך להשתמש בחומת אש.


229
2017-09-02 16:08



נכון. הכריכה מוגבלת ל -0, 1 או את כל כתובות IP בשרת. - Joe
שים לב, עם זאת, מאשר אתה יכול לפרסם ולהגיש הן שקע יוניקס מקומי שקע רשת על ידי ציון הן socket ו bind-address אפשרויות. - danorton
עדיין נכון היום. - Dennis Nolte
זה מגוחך. - Phillipp
@AJP Mysql מטפל 'localhost' ו '127.0.0.1' אחרת במערכת הפריבילגיה. אושר כאן: נעשה שימוש בקובץ שקע Unix אם לא תציין שם מארח או אם תציין את השם המקומי המארח של המארח. - Christian Lescuyer


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

כמו כן, שכבה שנייה של אבטחה, אתה צריך לוודא שכל משתמשי MySQL שלך יש שדה מארח להגדיר משהו אחר מאשר (כלומר כל המארח).


76
2017-09-02 16:29



אלא אם כן יש לך מחסנית רשת שבורה אתה לא יכול לקשור יציאת TCP לכתובת 0.0.0.0. - John Gardeniers
אתה פחית להיקשר 0.0.0.0. אתה פשוט לא יכול לנתב את זה. אם אתה על לינוקס (או אפילו על Windows, פשוט להתקין netcat עבור Windows) לנסות: במסוף אחד: nc -l 0.0.0.0 4321 ו במסוף השני: Telnet <IP של כל ממשק המחשב שלך> 4321 וזה יחברו אליה. - Grey Panther
כפי שאמרתי, אלא אם כן יש לך מחסנית רשת שבורה ... - John Gardeniers
@ JohnGardeniers האם זה למה זה של לינוקס IP (7) דף האיש מוגדר תחת כתובות מיוחדות: INADDR_ANY (0.0.0.0) means any address for binding;? - ebyrob
ב- Debian, צור קובץ /etc/mysql/conf.d/bindaddress.cnf קובץ עם תוכן [mysqld] \n bind-address = 0.0.0.0 - Yves Martin


אינך יכול להתחבר ליותר מכתובת IP אחת, אך תוכל להתחבר לכל כתובות ה- IP הזמינות. אם כן, פשוט להשתמש 0.0.0.0 עבור כתובת מחייבת בקובץ התצורה של MySQL (למשל /etc/mysql/my.cnf) כדלקמן:

bind-address    = 0.0.0.0

אם הכתובת היא 0.0.0.0, השרת מקבל חיבורי TCP / IP בכל ממשקי ה- IPv4 של השרת המארח.

יתר על כן, אם הכתובת היא ::, השרת מקבל חיבורי TCP / IP בכל ממשקי השרתים IPv4 ו- IPv6. השתמש בכתובת זו כדי לאפשר חיבורי IPv4 ו- IPv6 בכל ממשקי השרתים.

או שאתה יכול פשוט להגיב bind-address= בסך הכל, כך שהוא יחייב את כל הכתובות. אבל ודא כי אין לך skip-networking מאופשר my.cnf שלך אם אתה רוצה לאפשר חיבורים מרחוק גם כן (קרא עוד: MySQL: אפשר חיבורים מרוחקים ומקומיים).

לאחר שינוי כתובת המחייב, אל תשכח להפעיל מחדש את שרת MySQL שלך על ידי:

sudo service mysql restart

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

קרא עוד:


33
2017-08-11 09:37



למעשה קיוויתי לאפשרות לכבול חלק, אבל לא את כל הכתובות. - BlaM


לא אתה לא יכול. הדף שאתה מקשר אליו מציין בבירור:

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

אם לא צוין כתובת או 0.0.0.0, השרת מאזין על כל הממשקים.


19
2017-09-14 20:45





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

לינוקס יש כמה כלי TCP המאפשרים את זה. בהגדרה זו, אתה מגדיר את MySQL כדי להאזין 127.0.0.1 ולאחר מכן להשתמש redir לחשוף אותו על ממשקים שרירותיים.

אני משתמש זה כדי לעזור אורח תיבת וירטואלי לראות MySQL מותקן על המחשב המארח.

redir --laddr=192.168.33.1 --lport=3306 --caddr=127.0.0.1 --cport=3306 &

8
2018-02-24 20:23





אני חושב השאלה שלך קשורה באג זה http://bugs.mysql.com/bug.php?id=14979 דוח הבאג מציע פתרון כלשהו.


6
2017-09-02 16:14



בקשה MySQL תכונה החל משנת 2005! - Tonin


ב my.cnf שינוי (בדרך כלל / etc / mysql /my.cnf על לינוקס או לבדוק Windows זה תשובה.

bind-address                   = 127.0.0.1

ל

bind-address                   = 0.0.0.0

לאחר מכן הפעל מחדש את MySQL (על אובונטו הפעלה מחדש MySQL השירות - -) על Windows בדרך כלל שירות מחדש באמצעות Win + R services.msc 

0.0.0.0 אומר את זה כדי לאגד את כל ה- IP זמין עם יציאה גם נתון my.cnf


3
2017-09-19 18:34