MySQL/מניפולציה של מסדי נתונים
יצירה
עריכהcreate database db ;
לִדרוֹשׁ? זְכוּת.
mysqladmin create
הוא מעטפת שורת פקודה עבור פונקציה זו.
הערה: ב-MySQL, CREATE SCHEMA
היא מילה נרדפת מושלמת ל-CREATE DATABASE
, בניגוד ל-DBMS אחר כמו Oracle או SQL Server.
מחיקה
עריכה DROP DATABASE db;
לדרוש? זְכוּת.
mysqladmin drop
הוא מעטפת שורת פקודה עבור פונקציה זו. ניתן להשתמש באפשרות -f
כדי לדכא את האישור האינטראקטיבי (שימושי עבור סקריפטים ללא השגחה).
שנה שם
עריכהבחלק מגירסאות 5.1.x הייתה פקודת RENAME DATABASE db1 TO db2;
, אך היא הוסרה מכיוון ששינוי שמות של מסדי נתונים באמצעות SQL גרם לכמה בעיות אובדן נתונים[1].
עם זאת, בשורת הפקודה, אתה יכול ליצור/לייצא/לייבא/למחוק:
mysqladmin create n2
mysqldump --opt name1 | mysql n2
mysqladmin drop -f name1
אתה גם צריך לשחרר הרשאות על שם1 וליצור אותן מחדש על שם2:
UPDATE mysql.db SET `Db`='n2' WHERE `Db`='name1';
FLUSH PRIVILEGES;
העתק
עריכהאין פקודת העתקה ישירה ב-MySQL. עם זאת, זה יכול להיעשות בקלות באמצעות כמה כלים.
עם mysqldump
עריכהניתן להשתמש בשורת הפקודה mysqldump כדי ליצור עותק שלם של קובץ שטוח של מסד הנתונים. לאחר מכן תוכל להחזיר עותק זה במסד נתונים אחר.
זה דורש גישה ישירה למסד הנתונים; אם אין לך את זה, ייתכן שתצטרך להשתמש ב-phpMyAdmin במקום זאת.
# ראשית, נקה את מסד הנתונים של היעד:
mysqladmin drop -f base2
mysqladmin ליצור base2
# העתק את בסיס 1 לבסיס 2:
mysqldump --opt base1 | mysql base2
גיבוי
עריכהכדי להגדיר גיבוי אוטומטי בכל יום בחצות[2], בלינוקס:
$ crontab -e
0 0 * * * /usr/local/bin/mysqldump -uLOGIN -PPORT -hHOST -pPASS base1 | gzip -c > `תאריך "+\%Y-\%m-\%d"`.gz
עם phpMyAdmin
עריכהשחזור
עריכה- עם לינוקס:
mysql -h localhost -u root MaBase < MaBase.sql
- עם Windows, ייתכן שהתוכנה לא נמצאת במשתני הסביבה:
"C:\Program Files (x86)\EasyPHP\binaries\mysql\bin\mysql.exe" -h localhost -u root MyDB < MyDB.sql
בניגוד לייבוא של PhpMyAdmin, אין הגבלה. לדוגמה, אנו יכולים לטעון מסד נתונים של 2 ג'יגה-בייט בחמש דקות.
הגירה ממאגרי מידע אחרים
עריכהכלים: MySQL Migration Toolkit
כלים למידול נתונים
עריכה
DB Designer 4 ו-MySQL Workbench
עריכהDBDesigner מתחיל להיות ישן. זה משוחרר תחת GNU GPL, אבל לא ניתן להתייחס אליו באופן מלא כתוכנה חופשית מכיוון שהיא דורשת את מהדר Kylix הלא-חופשי לבנייה.
אבל MySQL AB רכשה את fabFORCE תבנית:Fact[3] , שהפיץ את DB Designer, ו-MySQL Workbench היא הגרסה הבאה. לעת עתה הפרויקט הוא עדיין אלפא ועדיין לא מוכן לשימוש.
בינתיים, אם אתה משתמש במהדורה האחרונה של DBDesigner, תגלה שהיא לא יכולה להתחבר ל-MySQL, עם השגיאה "לא ניתן לטעון libmysqlclient.so". כדי לעקוף את זה,
- התקן את MySQL "ספריות תאימות משותפות" (מאת http://dev.mysql.com/downloads/mysql/5.0.html#downloads עבור גרסה 5.0, RPMS גנרי aka MySQL-shared-compat.i386 יתאים).
- החלף את הגרסה של DBDesigner של libmysqlclient.so בגרסה שהותקנה לאחרונה:
sudo ln -sf /usr/lib/libmysqlclient.so.10 /usr/lib/DBDesigner4/libmysqlclient.so
- מצא והתקן את
kylixlibs3-unwind-3.0-rh.4.i386.rpm
- מצא xorg ישן (למשל
xorg-x11-libs-6.8.2-37.FC4.49.2.1.i386.rpm
מ-FC4) וחלץ אותו:
rpm2cpio x.rpm | cpio -i
- קבל את libXft.so.1.1 בחבילה הזו והתקן אותה:
sudo cp libXft.so.1.1 /usr/lib ldconfig
כעת אתה יכול להתחבר לשרת MySQL5 שלך מ-DBDesigner4. ראה זאת כפתרון זמני הממתין לגרסאות קהילתיות (חינם) ומסחריות (לא חינמיות) MySQL Workbench.
OpenOffice Base ו-ODBC
עריכהתצורה אופיינית:
- מסד נתונים של MySQL במחשב מארח (ששם הוא
mysqlhost
למטה) - OOo 2 במחשב לקוח (Debian GNU/Linux למשל)
- חיבור דרך ODBC.
זה'
- ^ https://dev.mysql. com/doc/refman/5.1/en/rename-database.html
- ^ http://stackoverflow.com/questions/6645818/how-to-automate-database-backup-using-phpmyadmin
- ^ בפורומים: [1] אבל נצטרך משהו יותר רשמי