דילוג לתוכן
  • דף הבית
  • קטגוריות
  • פוסטים אחרונים
  • משתמשים
  • חיפוש
  • חוקי הפורום
כיווץ
תחומים

תחומים - פורום חרדי מקצועי

💡 רוצה לזכור קריאת שמע בזמן? לחץ כאן!
  1. דף הבית
  2. תכנות
  3. עבודה עם מסד נתונים

עבודה עם מסד נתונים

מתוזמן נעוץ נעול הועבר תכנות
66 פוסטים 4 כותבים 5.8k צפיות
  • מהישן לחדש
  • מהחדש לישן
  • הכי הרבה הצבעות
התחברו כדי לפרסם תגובה
נושא זה נמחק. רק משתמשים עם הרשאות מתאימות יוכלו לצפות בו.
  • dovidD מחובר
    dovidD מחובר
    dovid ניהול
    השיב לdavidnead ב נערך לאחרונה על ידי
    #13

    @davidnead אמר בעבודה עם מסד נתונים:

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

    הגישה לVPS שיש לי - SSH. וגם FTP. מערכת ההפעלה שלו אובנטו

    אני מבולבל:
    בהדועה הפותחת דיברת על VPS שעליו יש מסד. אני מבין שיש לך אליו גישת ssh - שזו גישה לכל דבר, טעיתי במשהו?

    מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

    בכל נושא אפשר ליצור קשר dovid@tchumim.com

    D תגובה 1 תגובה אחרונה
    1
    • D מנותק
      D מנותק
      davidnead
      השיב לdovid ב נערך לאחרונה על ידי
      #14

      @dovid אמר בעבודה עם מסד נתונים:

      @davidnead אמר בעבודה עם מסד נתונים:

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

      הגישה לVPS שיש לי - SSH. וגם FTP. מערכת ההפעלה שלו אובנטו

      אני מבולבל:
      בהדועה הפותחת דיברת על VPS שעליו יש מסד. אני מבין שיש לך אליו גישת ssh - שזו גישה לכל דבר, טעיתי במשהו?

      אז ככה, יש כאן 3 שרתים VPS:

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

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

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

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

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

      מקוה שכעת אני ברור.

      clickoneC תגובה 1 תגובה אחרונה
      1
      • clickoneC מנותק
        clickoneC מנותק
        clickone
        השיב לdavidnead ב נערך לאחרונה על ידי
        #15

        @davidnead למה שלא תכתוב קוד קצר וחד פעמי ששואב את כל הנתונים ומכניס אותם לטבלאות חדשות.
        את הסכמה של הDB אתה כן יכול להוציא. זה שוקל כמה KB. לא יותר.

        אני יודע שזה פיתרון עקום. אבל בטוח שיעבוד.

        אין טסט כמו פרודקשן.

        המייל שלי urivpn@gmail.com

        D dovidD 2 תגובות תגובה אחרונה
        0
        • D מנותק
          D מנותק
          davidnead
          השיב לclickone ב נערך לאחרונה על ידי
          #16

          @clickone אמר בעבודה עם מסד נתונים:

          @davidnead למה שלא תכתוב קוד קצר וחד פעמי ששואב את כל הנתונים ומכניס אותם לטבלאות חדשות.
          את הסכמה של הDB אתה כן יכול להוציא. זה שוקל כמה KB. לא יותר.

          אני יודע שזה פיתרון עקום. אבל בטוח שיעבוד.

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

          תגובה 1 תגובה אחרונה
          0
          • dovidD מחובר
            dovidD מחובר
            dovid ניהול
            השיב לclickone ב נערך לאחרונה על ידי
            #17

            @clickone אמר בעבודה עם מסד נתונים:

            @davidnead למה שלא תכתוב קוד קצר וחד פעמי ששואב את כל הנתונים ומכניס אותם לטבלאות חדשות.
            את הסכמה של הDB אתה כן יכול להוציא. זה שוקל כמה KB. לא יותר.

            אני יודע שזה פיתרון עקום. אבל בטוח שיעבוד.

            איזה טבלאות? איפה הקוד ירוץ? ולאיפה הוא ישמור?

            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

            בכל נושא אפשר ליצור קשר dovid@tchumim.com

            clickoneC תגובה 1 תגובה אחרונה
            1
            • clickoneC מנותק
              clickoneC מנותק
              clickone
              השיב לdovid ב נערך לאחרונה על ידי
              #18

              @dovid הקוד ירוץ בשרת מספר 3. (האמת הקוד יכול לרוץ בכל שרת)
              הוא יקח את הסכמה משרת מספר 1, ויקים מסד נתונים בשרת מספר 3
              אח"כ הוא יעשה שאילתות INSERT עם הערכים שקיבל משרת מספר 1 לשרת מספר 3.
              הוא ירוץ בלופ על כל הרשומות

              אין טסט כמו פרודקשן.

              המייל שלי urivpn@gmail.com

              dovidD D 2 תגובות תגובה אחרונה
              0
              • dovidD מחובר
                dovidD מחובר
                dovid ניהול
                השיב לclickone ב נערך לאחרונה על ידי dovid
                #19

                @clickone אמר בעבודה עם מסד נתונים:

                @dovid הקוד ירוץ בשרת מספר 3. (האמת הקוד יכול לרוץ בכל שרת)
                הוא יקח את הסכמה משרת מספר 1, ויקים מסד נתונים בשרת מספר 3
                אח"כ הוא יעשה שאילתות INSERT עם הערכים שקיבל משרת מספר 1 לשרת מספר 3.
                הוא ירוץ בלופ על כל הרשומות

                זהו שהוא לא מתחבר, כלומר כנראה הremote פתוח רק לIP של 2.
                ככה יצא לי מהשתלשלות הפוסט.
                אתה צודק שהוא יכול לרוץ על 2 ולהתחבר בremote ל3, או למחשב שלו, אבל באותו ההדרכה איך להקים את המסד החדש אני צריך לתת לו הדרכה לפתוח את של 1.

                מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                בכל נושא אפשר ליצור קשר dovid@tchumim.com

                clickoneC dovidD 2 תגובות תגובה אחרונה
                0
                • D מנותק
                  D מנותק
                  davidnead
                  השיב לclickone ב נערך לאחרונה על ידי
                  #20

                  @clickone אמר בעבודה עם מסד נתונים:

                  @dovid הקוד ירוץ בשרת מספר 3. (האמת הקוד יכול לרוץ בכל שרת)
                  הוא יקח את הסכמה משרת מספר 1, ויקים מסד נתונים בשרת מספר 3
                  אח"כ הוא יעשה שאילתות INSERT עם הערכים שקיבל משרת מספר 1 לשרת מספר 3.
                  הוא ירוץ בלופ על כל הרשומות

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

                  clickoneC תגובה 1 תגובה אחרונה
                  0
                  • clickoneC מנותק
                    clickoneC מנותק
                    clickone
                    השיב לdovid ב נערך לאחרונה על ידי
                    #21

                    @dovid אז שהPHP ירוץ על 2, ימשוך מ1 וישמור ל3 (כמעט כמו חד גדיא 🙂 )
                    או שיבקש פתיחה גם לIP של שרת 3 (אא"כ זה לא אפשרי כי הוא לא מספר להם מה הוא הולך לעשות...)

                    אין טסט כמו פרודקשן.

                    המייל שלי urivpn@gmail.com

                    D תגובה 1 תגובה אחרונה
                    0
                    • D מנותק
                      D מנותק
                      davidnead
                      השיב לclickone ב נערך לאחרונה על ידי
                      #22

                      @clickone אמר בעבודה עם מסד נתונים:

                      @dovid אז שהPHP ירוץ על 2, ימשוך מ1 וישמור ל3 (כמעט כמו חד גדיא 🙂 )

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

                      תגובה 1 תגובה אחרונה
                      1
                      • clickoneC מנותק
                        clickoneC מנותק
                        clickone
                        השיב לdavidnead ב נערך לאחרונה על ידי clickone
                        #23

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

                        אין טסט כמו פרודקשן.

                        המייל שלי urivpn@gmail.com

                        dovidD תגובה 1 תגובה אחרונה
                        0
                        • dovidD מחובר
                          dovidD מחובר
                          dovid ניהול
                          השיב לdovid ב נערך לאחרונה על ידי
                          #24

                          @dovid אמר בעבודה עם מסד נתונים:

                          אתה צודק שהוא יכול לרוץ על 2 ולהתחבר בremote ל3, או למחשב שלו, אבל באותו ההדרכה איך להקים את המסד החדש אני צריך לתת לו הדרכה לפתוח את של 1.

                          מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                          בכל נושא אפשר ליצור קשר dovid@tchumim.com

                          תגובה 1 תגובה אחרונה
                          1
                          • dovidD מחובר
                            dovidD מחובר
                            dovid ניהול
                            השיב לclickone ב נערך לאחרונה על ידי
                            #25

                            @clickone אמר בעבודה עם מסד נתונים:

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

                            עדיין לא הבנתי מאיפה ירוץ ולאיפה ישמור. קראת את מה שכתבתי?

                            מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                            בכל נושא אפשר ליצור קשר dovid@tchumim.com

                            clickoneC תגובה 1 תגובה אחרונה
                            0
                            • D מנותק
                              D מנותק
                              davidnead
                              כתב ב נערך לאחרונה על ידי davidnead
                              #26

                              @clickone אמר בעבודה עם מסד נתונים:

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

                              אני חושב שהבנתי, אך היות שאני נגד לימודי ליבה נראה לי שהאפשרות הראשונה (הרצה על 2, שאיבה מ1 ושמירה על 3) יותר בתחום השגתי.

                              תגובה 1 תגובה אחרונה
                              0
                              • clickoneC מנותק
                                clickoneC מנותק
                                clickone
                                השיב לdovid ב נערך לאחרונה על ידי
                                #27

                                @dovid
                                כן. קראתי.

                                תסתכל רגע כאן
                                https://stackoverflow.com/questions/4262876/how-to-copy-database-tables-and-each-record-from-one-database-server-to-another
                                משהו בסגנון שיש שם.
                                הוא על שרת מספר 2, פותח 2 קונקשנים.
                                אחד לשרת הישן (1), והשני לשרת החדש (3).
                                ואז הוא רץ בלופ על הטבלאות שנמצאות בשרת הישן, ומכניס אותם לחדש.
                                בדוגמא הזו הוא גם יצר את הטבלאות.
                                אני חושב שאת הסכמה עדיף לו לקחת משם. כי בטח יש עוד אינדקסים וכו

                                <?php
                                $dbNewDB = 'newdb';
                                $dbNewUser = 'newroot';
                                $dbNewUserPswd = 'newpass';
                                
                                $dbConnect = mysql_connect('localhost', 'root', 'mypassword') or die('Couldn\'t connect to MySql:'.mysql_error());
                                $dbNewConnect = mysql_connect('localhost', $dbNewUser, $dbNewUserPswd) or die('Couldn\'t connect to MySql:'.mysql_error());
                                
                                $sqlStatement = "SHOW TABLES FROM olddb";
                                $result = mysql_query($sqlStatement,$dbConnect) or die('Unable to get tables: '.mysql_error());
                                while($row = mysql_fetch_row($result)) 
                                    {
                                        //Drop table if exist
                                        $sqlStatement = "DROP TABLE IF EXISTS " . $dbNewDB . "." . $row[0];
                                        mysql_query($sqlStatement,$dbNewConnect) or die("Failed to delete: " . mysql_error());
                                        //Create new table
                                        $sqlStatement = "CREATE TABLE " . $dbNewDB . "." . $row[0] . " LIKE olddb." . $row[0];
                                        echo "$sqlStatement [" . __METHOD__ . "]"; 
                                        mysql_query($sqlStatement,$dbNewConnect)or die("Failed to create: ". mysql_error());
                                        //Insert data
                                        $sqlStatement = "INSERT INTO " . $dbNewDB . "." . $row[0] . " SELECT * FROM " . $dbNewDB . "." . $row[0];
                                        echo "$sqlStatement [" . __METHOD__ . "]"; 
                                        mysql_query($sqlStatement,$dbNewConnect)or die("Table copy failed: ".mysql_error());
                                        echo "$row[0] copy done. [" . __METHOD__ . "]"; 
                                    }
                                
                                mysql_free_result($result);
                                mysql_close($dbConnect);
                                mysql_close($dbNewConnect);
                                
                                ?> 
                                
                                

                                אין טסט כמו פרודקשן.

                                המייל שלי urivpn@gmail.com

                                תגובה 1 תגובה אחרונה
                                0
                                • dovidD מחובר
                                  dovidD מחובר
                                  dovid ניהול
                                  כתב ב נערך לאחרונה על ידי dovid
                                  #28

                                  @clickone אתה מצליח להפליא אותי. כתבתי פעמיים את הפתרון הזה בדיוק. ולכן אני תמה אם קראת.
                                  ואמרתי על זה שבשביל זה יש להקים שרת SQL ב3, ולפתוח אותו לREMOTE ב2.
                                  ובאותו מחיר של כתיבת כזאת הדרכה אני יכול לכתוב לו איך לפתוח את ה1 לREMOTE למחשב שלו האישי או לשלוש, בלי לעבור ב2 כלל.

                                  מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                  בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                  D clickoneC 2 תגובות תגובה אחרונה
                                  1
                                  • D מנותק
                                    D מנותק
                                    davidnead
                                    השיב לdovid ב נערך לאחרונה על ידי
                                    #29

                                    @dovid אמר בעבודה עם מסד נתונים:

                                    @clickone אתה מצליח להפליא אותי. כתבתי פעמיים את הפתרון הזה בדיוק. ולכן אני תמה אם קראת.
                                    ואמרתי על זה שבשביל זה יש להקים שרת SQL ב3, ולפתוח אותו לREMOTE ב2.
                                    ובאותו מחיר של כתיבת כזאת הדרכה אני יכול לכתוב לו איך לפתוח את ה1 לREMOTE למחשב שלו האישי או לשלוש, בלי לעבור ב2 כלל.

                                    הבעיה בשני ההצעות, היא שאין לי אפשרות לפתוח את 1 - מאחר שאין לי גישה אליו.

                                    dovidD תגובה 1 תגובה אחרונה
                                    0
                                    • dovidD מחובר
                                      dovidD מחובר
                                      dovid ניהול
                                      השיב לdavidnead ב נערך לאחרונה על ידי
                                      #30

                                      @davidnead אמר בעבודה עם מסד נתונים:

                                      @dovid אמר בעבודה עם מסד נתונים:

                                      @clickone אתה מצליח להפליא אותי. כתבתי פעמיים את הפתרון הזה בדיוק. ולכן אני תמה אם קראת.
                                      ואמרתי על זה שבשביל זה יש להקים שרת SQL ב3, ולפתוח אותו לREMOTE ב2.
                                      ובאותו מחיר של כתיבת כזאת הדרכה אני יכול לכתוב לו איך לפתוח את ה1 לREMOTE למחשב שלו האישי או לשלוש, בלי לעבור ב2 כלל.

                                      הבעיה בשני ההצעות, היא שאין לי אפשרות לפתוח את 1 - מאחר שאין לי גישה אליו.

                                      יש לך גישת SQL, אם זה root, לא צריך יותר מזה.

                                      מנטור אישי למתכנתים (ולא רק) – להתקדם לשלב הבא!

                                      בכל נושא אפשר ליצור קשר dovid@tchumim.com

                                      D תגובה 1 תגובה אחרונה
                                      0
                                      • clickoneC מנותק
                                        clickoneC מנותק
                                        clickone
                                        השיב לdovid ב נערך לאחרונה על ידי clickone
                                        #31

                                        @dovid עברתי שוב מההתחלה על מה שכתבת.
                                        לא ראיתי הצעה להרצת קוד PHP מהשרת הפתוח והעתקה בריצה פיזית של הרשומות בלופ.
                                        אשמח אם תיתן לינק להודעה הספציפית.
                                        כן ראיתי שהצעת לו לשים את התוכנה של MYSQL.

                                        לגבי הפתיחה עכשיו אני רואה.
                                        בכל מקרה לפי מה שהוא כותב, אז ברור שהקוד חייב לעבור ב2.
                                        והוא לא חייב לפתוח גישה מרחוק לMYSQL מ3 ל2 אם הוא מתעקש....
                                        הוא יכול לשים 2 קבצי PHP בשניהם.
                                        וש2 יעשה POST לדף ב3 שיעשה את האינסרט שהוא יעביר לו. (כמובן שאח"כ הוא ימחק את הקבצים בגלל אבטחת מידע ובלה בלה בלה....)

                                        אין טסט כמו פרודקשן.

                                        המייל שלי urivpn@gmail.com

                                        תגובה 1 תגובה אחרונה
                                        0
                                        • D מנותק
                                          D מנותק
                                          davidnead
                                          השיב לdovid ב נערך לאחרונה על ידי
                                          #32

                                          @dovid אמר בעבודה עם מסד נתונים:

                                          @davidnead אמר בעבודה עם מסד נתונים:

                                          @dovid אמר בעבודה עם מסד נתונים:

                                          @clickone אתה מצליח להפליא אותי. כתבתי פעמיים את הפתרון הזה בדיוק. ולכן אני תמה אם קראת.
                                          ואמרתי על זה שבשביל זה יש להקים שרת SQL ב3, ולפתוח אותו לREMOTE ב2.
                                          ובאותו מחיר של כתיבת כזאת הדרכה אני יכול לכתוב לו איך לפתוח את ה1 לREMOTE למחשב שלו האישי או לשלוש, בלי לעבור ב2 כלל.

                                          הבעיה בשני ההצעות, היא שאין לי אפשרות לפתוח את 1 - מאחר שאין לי גישה אליו.

                                          יש לך גישת SQL, אם זה root, לא צריך יותר מזה.

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

                                          clickoneC 2 תגובות תגובה אחרונה
                                          1

                                          • 1
                                          • 2
                                          • 3
                                          • 4
                                          בא תתחבר לדף היומי!
                                          • התחברות

                                          • אין לך חשבון עדיין? הרשמה

                                          • התחברו או הירשמו כדי לחפש.
                                          • פוסט ראשון
                                            פוסט אחרון
                                          0
                                          • דף הבית
                                          • קטגוריות
                                          • פוסטים אחרונים
                                          • משתמשים
                                          • חיפוש
                                          • חוקי הפורום