עבודה עם מסד נתונים
-
@davidnead
זה שרת שלך?
או אתה רק מתחזק אותו?
איפה הוא מתארח? כי יש שרתים שהFW בעצם מנוהל בחווה. (בד"כ אב הוא מנוהל בשרת עצמו)
לדוגמא:
כדי לפתוח כתובת אתה משתמש בiptables -A INPUT -s 1.2.3.4 -j ACCEPT
כש 1.2.3.4 זה הIP של השרת השני (שרת מספר 3 במקרה שלך)
ייתכן שגם על שרת 3 אתה צריך להוסיף כלל לFW אם הוא פתוח.
אחרי שהוספת כלל, צריך לשמורiptables-save
והכי חשוב!!
לגבות לפני את הקובץ/etc/iptables.up.rules
-
@dovid הוא לא מוגבל מול שרת מספר 2.
אחרת הוא לא היה יכול לפנות אליו מפרוייקט הווב שלו בשרת מספר 2.
sqldump ירוץ על שרת מספר 2 וינתב את הקובץ לשרת 3 (אפשר אולי גם לחשוב על יצירת תיקיית רשת בין שרת 2 ל3, כך שזה יהיה שמירה לתיקייה..), ששם יש הרשאות לפנייה.
רק השאלה זה האם יש בשרת מספר 1 רק הרשאה סלקטיבית מול שרת מספר 2. ו-sqldump ייכשל בגיבוי. -
@dovid אמר בעבודה עם מסד נתונים:
@davidnead גש לSSH, ותתחבר לשרת הSQL עם הפקודה mysql, מכיר?
לא. ניסיתי ישר לבצע גיבוי ופקודות שונות משרת 2 לSQL של 1, אבל התחברות רגילה לSQL מרוחק אני לא מכיר.
-
@davidnead אמר בעבודה עם מסד נתונים:
@dovid אמר בעבודה עם מסד נתונים:
@davidnead גש לSSH, ותתחבר לשרת הSQL עם הפקודה mysql, מכיר?
לא. ניסיתי ישר לבצע גיבוי ופקודות שונות משרת 2 לSQL של 1, אבל התחברות רגילה לSQL מרוחק אני לא מכיר.
אז תקליד בssh את הפקודה mysql ואנטר, בא נראה אם בכלל מותקן הקליינט.
-
@dovid אמר בעבודה עם מסד נתונים:
@davidnead אמר בעבודה עם מסד נתונים:
@dovid אמר בעבודה עם מסד נתונים:
@davidnead גש לSSH, ותתחבר לשרת הSQL עם הפקודה mysql, מכיר?
לא. ניסיתי ישר לבצע גיבוי ופקודות שונות משרת 2 לSQL של 1, אבל התחברות רגילה לSQL מרוחק אני לא מכיר.
אז תקליד בssh את הפקודה mysql ואנטר, בא נראה אם בכלל מותקן הקליינט.
"ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
"אני אכן נזכר שכאשר ניסיתי את פקודת הגיבוי, הוא כתב משהו על כך שחסר התקנת קליינט...
לא העלתי על דעתי ששרת שכולו פועל סביב מסד נתונים הmysql לא יהיה מותקן עליו - כי הוא נשאב ממחשב מרוחק.אמנם, יש לי איזה סקריפט גיבוי שמייצא את המסד נתונים בצורה אחרת, ותיאורטית כן עושה את העבודה, אם לא מחוסר מקום. ייתכן שאם אדם איך לפתוח את שרת 2 לשרת 3, אולי גם את הפקודה של הסקריפט ההוא אפשר לנתב לשרת 3. כך יהיה אפשר לוותר על התקנת MYSQL
-
@dovid אמר בעבודה עם מסד נתונים:
@davidnead המסקנה שלך הפוכה, הפלט שהצגת מוכיח שיש לך קליינט.
בא נתקדם, תכתוב:mysql -h addressServer1 -u user -p password
תחליף את addressServer1 בכתבות השרת ה1, את הuser בשם המשתמש, ואת הpassword בסיסמה.
תדביק את זה בSSH, ותדווח.הנחתי שהתכוונת ל:
mysql -h addressServer1 -u user -p dbname
ואכן, זה הצליח לי. התחבר.
לכאורה זה ממש מוזר, כי כשניסיתי ממש כמעט אותה פקודה (לגבות):
mysqldump -h addressServer1 -u user -p dbname | gzip > backup.sql.gzזה לא נתן.
-
תתחבר לmysql בshh ע"י הפקודה שאמרת שעובדת,
ובמצב הmysql כתוב את הפקודות הבאות:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; FLUSH PRIVILEGES;
תחליף את הroot אם זה לא המשתמש הנכון, וכן את הpassword לסיסמה הנכונה.
נ.ב. מה פלט השגיאה של הmysqldump?
-
@dovid אמר בעבודה עם מסד נתונים:
תתחבר לmysql בshh ע"י הפקודה שאמרת שעובדת,
ובמצב הmysql כתוב את הפקודות הבאות:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; FLUSH PRIVILEGES;
תחליף את הroot אם זה לא המשתמש הנכון, וכן את הpassword לסיסמה הנכונה.
נ.ב. מה פלט השגיאה של הmysqldump?
במחילה ממעלתו, אם אפשר הסבר קודם מה הפקודה עושה, אני לא רוצה לגרום דברים שלא התכוונתי אליהם במסד נתונים חשוב.
לגבי פלט השגיאה - טעיתי. אני נזכר שעשיתי את הפקודה משרת 3, ושם הפלט היה על הרשאה. משרת 2 לא עשיתי מפני הבעיה המקורית של חסר מקום. כדי לעשות זאת משרת 2 אני צריך לדעת קודם איך אני מגדיר שקובץ הפלט יהיה בשרת 3.
-
@davidnead
הוא בסה"כ ביקש בפקודה לקבל את מקסימום ההרשאות שניתן לבקש.
ולראות איזו שגיאה תקבל (אם בכלל)לגבי המקום בחלק השני, תעשה את הכל משרת מס' 2. כולל השמירה.
בהנחה והוא עובד ולא נופל ישר, תבטל את הפעולה ע"י קונטרול + C.
אפשרות נוספת היא ליצור על שרת מס' 1 DB קטן במידה ויש לך הרשאות.
ולנסות לעשות עליו DUMP -
@clickone אמר בעבודה עם מסד נתונים:
@davidnead
הוא בסה"כ ביקש בפקודה לקבל את מקסימום ההרשאות שניתן לבקש.
ולראות איזו שגיאה תקבל (אם בכלל)לגבי המקום בחלק השני, תעשה את הכל משרת מס' 2. כולל השמירה.
בהנחה והוא עובד ולא נופל ישר, תבטל את הפעולה ע"י קונטרול + C.
אפשרות נוספת היא ליצור על שרת מס' 1 DB קטן במידה ויש לך הרשאות.
ולנסות לעשות עליו DUMPסורי לא הבנתי. איך לעשות שמירה בשרת 2 אם אין בו מקום. ולמה לבטל.
על שרת 1 אין לי הרשאות ליצור כלום. -
@davidnead
כמה מקום אין בו?
ז"א, יש לך בו 10 מגה מיותרים? (אני מניח ששיש קצת יותר)
עכשיו, בא נשער שהקובץ של הDB שנמצא בשרת 1, שוקל 10G.
אתה מתחיל גיבוי וממתין שנייה.
הרי גיבוי של 10G לא יהיה שנייה.
אם אתה רואה שהוא נוסע, אז תבטל מיד את הגייבוי עם קונטרול + C
אם הוא נופל, הוא ייפול מייד.
במקרה שהוא ייפול מחוסר מקום, אז ההודעה תהיה שאין מקום ואז יישאר רק להסביר איך להוסיף תיקייה שתהיה בכלל הכונן שנמצא בשרת המרוחק -
@clickone אמר בעבודה עם מסד נתונים:
@davidnead
כמה מקום אין בו?
ז"א, יש לך בו 10 מגה מיותרים? (אני מניח ששיש קצת יותר)
עכשיו, בא נשער שהקובץ של הDB שנמצא בשרת 1, שוקל 10G.
אתה מתחיל גיבוי וממתין שנייה.
הרי גיבוי של 10G לא יהיה שנייה.
אם אתה רואה שהוא נוסע, אז תבטל מיד את הגייבוי עם קונטרול + C
אם הוא נופל, הוא ייפול מייד.
במקרה שהוא ייפול מחוסר מקום, אז ההודעה תהיה שאין מקום ואז יישאר רק להסביר איך להוסיף תיקייה שתהיה בכלל הכונן שנמצא בשרת המרוחקאני מבין, אבל לשם מה להפעיל אותו (ולראות שהוא נוסע) ומיד לבטל? כדי לשלול בעיה נוספת מלבד בעיית מקום איחסון?
כי אין לי ספק שאין לי מספיק מקום בשרת 2, אין טעם לנסות את זה ולסתום את השרת. -
@davidnead אמר בעבודה עם מסד נתונים:
כדי לשלול בעיה נוספת מלבד בעיית מקום איחסון?
כן.
אין טעם שתתחיל לחבר שרתים אחד לשני....
האמת אם יש לך כח תנסה את זה
https://www.howtogeek.com/howto/ubuntu/how-to-mount-a-remote-folder-using-ssh-on-ubuntu/או את זה
https://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem
ואז תחבר את שרת 2 לשרת 3
-
@clickone אמר בעבודה עם מסד נתונים:
@davidnead אמר בעבודה עם מסד נתונים:
כדי לשלול בעיה נוספת מלבד בעיית מקום איחסון?
כן.
אין טעם שתתחיל לחבר שרתים אחד לשני....
האמת אם יש לך כח תנסה את זה
https://www.howtogeek.com/howto/ubuntu/how-to-mount-a-remote-folder-using-ssh-on-ubuntu/או את זה
https://linuxconfig.org/mount-remote-ftp-directory-host-locally-into-linux-filesystem
ואז תחבר את שרת 2 לשרת 3
אתה יודע מה אני אנסה את זה באמת, כי זה עשוי להיות לי שימושי מעבר לצורך הספציפי שדובר פה. זה בעצם עונה על זה לכתחילה ועל בעיות דומות שכבר נתקלתי.
זה פשוט מאפשר חופשיות בהגדלת המקום של השרת במין תיקיה חיצונית.
אנסה את הקישור הראשון, הוא יותר נשמע לי. -
רק 2 שאלות.
-
איך אוכל להסיר את ההתקנה הזו אם לא ארצה בעתיד את החיבור בין 2 השרתים?
-
מה משמעות קטע הקוד האחרון המובא שם ללא הסבר:
geek@ubuntuServ:~/remoteserv$ ls -l
total 16
drwxr-xr-x 1 951247 155725 4096 2006-12-13 13:30 howtogeek.com
drwxr-sr-x 1 root root 4096 2006-09-11 06:45 logs
drwx—— 1 951247 155725 4096 2006-08-11 16:09 Maildir
drwxrwxr-x 1 951247 155725 4096 2006-10-29 02:34 scripts -
-
@davidnead אמר בעבודה עם מסד נתונים:
ls -l
ls -l
זו פקודה שמורה להציג את רשימת הקצים + תאריך והרשאות.
מקבילה לll
-
@clickone אמר בעבודה עם מסד נתונים:
@davidnead אמר בעבודה עם מסד נתונים:
ls -l
ls -l
זו פקודה שמורה להציג את רשימת הקצים + תאריך והרשאות.
מקבילה לll
אקיצור סתם הדגמה של השימוש עם פקודה כשלהי.
ומה בקשר להסרה?