לדלג לתוכן

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

[עריכה]

תבנית:Clr

שחזור

[עריכה]
  • עם לינוקס:
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

כלים למידול נתונים

[עריכה]
  • דפדפן שאילתות MySQL כולל ככל הנראה מודול עורך טבלאות MySQL.
  • Kexi (ויקיפדיה: Kexi)


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.

זה'

  1. ^ https://dev.mysql. com/doc/refman/5.1/en/rename-database.html
  2. ^ http://stackoverflow.com/questions/6645818/how-to-automate-database-backup-using-phpmyadmin
  3. ^ בפורומים: [1] אבל נצטרך משהו יותר רשמי