אתה נמצא כאן מדריכים  >>  MySQL - רשימת תלמידים  >>  נספח: שמירת נתונים של MySQL

נספח: שמירת נתונים של MySQL

בעיקרון, כדי לנהל בסיסי נתונים וטבלאות ב-MySQL, צריך לדעת את שפת SQL, שהיא שפה סטנדרטית לניהול בסיסי נתונים. כאשר מתקינים את MySQL אז מותקנים בנוסף גם קבצי הרצה של MySQL שתפקידם הוא לנהל את בסיסי הנתונים, ולפשט פעולות מסובכות של SQL, אך בעיקרון כמעט כל מה שנעשה באמצעות קבצי העזר של MySQL, ניתן לעשות באמצעות פקודות SQL רגילות. קבצי ההרצה של MySQL נמצאים בתוך הספריה bin תחת הספריה בה הותקנה MySQL (ב-Windows). ב-Unix/Linux קבצים אלו מותקנים ב-shell.

כדי להפעיל את שורת הפקודה של MySQL, יש להפעיל את הקובץ mysql.exe (ב-Windows), וב-Unix/Linux פשוט רושמים "mysql" ב-shell. ייתכן ותתבקשו להכניס גם שם משתמש וססמא. בשורת הפקודה של MySQL ניתן להריץ כל שאילתת SQL על בסיסי הנתונים.

שמירת טבלאות ובסיסי נתונים לתוך קובץ חיצוני

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

ובכן, MySQL הוא בסיס נתונים שמבוסס על שפת SQL (שהיא, כאמור, שפה סטנדרטית לניהול בסיסי נתונים). אחד מקבצי העזר של MySQL הוא mysqldump.exe (ב-Windows) או mysqldump (ב-Shell של Unix/Linux). התפקיד של קובץ זה הוא לתרגם את טבלאות הנתונים של MySQL לרצף פקודות ושאילתות SQL, שהרצתן תיצור מחדש את אותן טבלאות הנתונים (גם במערכות אחרות עם MySQL, ואפילו במסדי נתונים אחרים של SQL, למשל MsSQL).

נביא כאן מספר דוגמאות לשימוש בקובץ העזר mysqldump לשמירת נתונים:

1> mysqldump my_db1
/*מדפיס למסך רצף שאילתות SQL שבונות את כל
הטבלאות שיש בבסיס הנתונים my_db1.
*/

2> mysqldump my_db1 table_1
/*מדפיס למסך רצף שאילתות SQL שבונות רק את
הטבלה table_1 שנמצאית בבסיס הנתונים my_db1.
*/

3> mysqldump my_db2 table_3 > tbl.sql
/*מדפיס לקובץ ה-SQL tbl.sql רצף שאילתות SQL
שבונות רק את הטבלה table_3 שנמצאית
בבסיס הנתונים my_db2.
*/

4> mysqldump --xml my_db3 > db3.xml
/*מדפיס לקובץ ה-XML db3.xml את כל הטבלאות שנמצאות
בבסיס הנתונים my_db3 בפורמט של XML.
*/

5> mysqldump -?
/*מראה את ההסבר ואת כל האפשרויות
של mysqldump.
*/

יצירת טבלאות ובסיסי נתונים מתוך קובץ חיצוני

אם אנו שומרים את פלט ה-SQL של mysqldump בתוך קובץ (כמו בשורה 3 בדוגמא מעל), אז הקובץ יכיל שאילתות SQL שבונות את הטבלאות ובסיסי הנתונים ששמרנו. כדי ליצור מחדש את הטבלאות ובסיסי הנתונים, ניתן להשתמש בקובץ ה-SQL שיצרנו בעזרת mysqldump. כדי לעשות זאת יש להכנס לשורת הפקודה של MySQL ולהשתמש בפקודה source, שקוראת את קובץ ה-SQL ומריצה את השאילתות שבה.

למשל, כדי ליצור מחדש את הטבלה table_3 בבסיס נתונים אחר ב-MySQL (למשל: test) מתוך קובץ ה-SQL, נעשה את הפקודות הבאות:

1> cd dir_of_sql_file
/*נכנסים לספריה שבה קובץ ה-SQL שמור.*/

2> mysql
/*נכנסים לשורת הפקודה של MySQL.
ייתכן ותתבקשו להכניס גם שם משתמש וססמא.
(מקבלים הודעת כניסה הדומה לזו:)
*/

         Welcome to the MySQL monitor. Commands end with ; or \g.
         Your MySQL connection id is 37 to server version: 3.23.53-max-nt
3:mysql>
/*שורת הפקודה של MySQL נראית כך:
mysql>
*/
 use test;
/*בוחרים את בסיס הנתונים test, ונכנסים אליו.
(מקבלים את ההודעה הבאה:)
*/

         Database changed
4:mysql> source tbl.sql;
/*פקודה זו קוראת את קובץ ה-SQL tbl.sql,
ומריצה את השאילתות שבו לפי הסדר.
(מקבלים רשימת הודעות הדומה לזו:)
(הרשימה מראה את מספר השינויים בבסיס הנתונים)
*/

         Query OK, 0 rows affected (0.08 sec)
         Query OK, 1 row affected (0.01 sec)
         Query OK, 1 row affected (0.00 sec)
         Query OK, 1 row affected (0.00 sec)
5:mysql> exit;
/*יוצאים משורת הפקודה של MySQL.
(מקבלים הודעת יציאה הדומה לזו:)
*/

         Bye


תגובות בנושא


לדף הקודםהורדה -הקודם
לתחילת הדףלתחילת הדף
הבא- בסיס הנתוניםלדף הבא