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] אבל נצטרך משהו יותר רשמי