בדף הזה מוסבר איך ליצור, להציג ולמחוק מסדי נתונים של MySQL במכונת Cloud SQL.
למופע שנוצר יש ארבעה מסדי נתונים של המערכת:
-
information_schema: מאפשר גישה למטא-נתונים של מסד הנתונים, מידע על שרת MySQL. -
mysql: הסכימה של המערכת. היא מכילה טבלאות שמאחסנות מידע שנדרש לשרת MySQL בזמן שהוא פועל. -
performance_schema: תכונה למעקב אחר הביצוע של שרת MySQL ברמה נמוכה. -
sys: מכילה קבוצה של אובייקטים שעוזרים למנהלי מסדי נתונים ולמפתחים לפרש את הנתונים שנאספים על ידי סכימת הביצועים.
לפני שמתחילים
לפני שמבצעים את המשימות בדף הזה, צריך:
- יצירת מכונה של Cloud SQL. מידע נוסף זמין במאמר יצירת מופעים.
אם אתם מתכננים להשתמש בלקוח mysql כדי ליצור או לנהל את מסדי הנתונים, אתם צריכים:
- הגישה הוגדרה והחיבור למכונה בוצע באמצעות לקוח
mysql. מידע נוסף על אפשרויות החיבור זמין במאמר אפשרויות חיבור לאפליקציות חיצוניות.
יצירת מסד נתונים במכונה של Cloud SQL
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בתפריט הניווט של SQL, בוחרים באפשרות מסדי נתונים.
- לוחצים על יצירת מסד נתונים.
- בתיבת הדו-שיח יצירת מסד נתונים, מציינים את השם של מסד הנתונים, ואם רוצים, גם את ערכת התווים וההשוואה.
מידע נוסף על ערכות תווים ומיון זמין במאמר ערכות תווים, מיון, Unicode.
- לוחצים על יצירה.
gcloud
מידע נוסף זמין במאמר gcloud
sql databases create.
מידע נוסף על ערכות תווים ומיון זמין במאמר ערכות תווים, מיון, Unicode.
gcloud sql databases create DATABASE_NAME \ --instance=INSTANCE_NAME \ [--charset=CHARSET] \ [--collation=COLLATION]
Terraform
כדי ליצור מסד נתונים, משתמשים במשאב של Terraform.
החלה של השינויים
כדי להחיל את הגדרות Terraform בפרויקט ב- Google Cloud , מבצעים את השלבים בקטעים הבאים.
הכנת Cloud Shell
- מפעילים את Cloud Shell.
-
מגדירים את פרויקט ברירת המחדל שבו רוצים להחיל את ההגדרות של Terraform. Google Cloud
תצטרכו להריץ את הפקודה הזו רק פעם אחת לכל פרויקט, ותוכלו לעשות זאת בכל ספרייה.
export GOOGLE_CLOUD_PROJECT=PROJECT_ID
אם תגדירו ערכים ספציפיים בקובץ התצורה של Terraform, הם יבטלו את ערכי ברירת המחדל של משתני הסביבה.
הכנת הספרייה
לכל קובץ תצורה של Terraform צריכה להיות ספרייה משלו (שנקראת גם מודול ברמה הבסיסית).
-
יוצרים ספרייה חדשה ב-Cloud Shell ובה יוצרים קובץ חדש. שם הקובץ חייב לכלול את הסיומת
.tf, למשלmain.tf. במדריך הזה, הקובץ נקראmain.tf.mkdir DIRECTORY && cd DIRECTORY && touch main.tf
-
אם אתם עוקבים אחרי המדריך, תוכלו להעתיק את הקוד לדוגמה בכל קטע או שלב.
מעתיקים את הקוד לדוגמה בקובץ
main.tfהחדש שיצרתם.לחלופין, אפשר גם להעתיק את הקוד מ-GitHub. כדאי לעשות את זה כשקטע הקוד של Terraform הוא חלק מפתרון מקצה לקצה.
- בודקים את הפרמטרים לדוגמה ומשנים אותם בהתאם לסביבה שלכם.
- שומרים את השינויים.
-
מפעילים את Terraform. צריך לעשות זאת רק פעם אחת לכל ספרייה.
terraform init
אופציונלי: תוכלו לכלול את האפשרות
-upgrade, כדי להשתמש בגרסה העדכנית ביותר של הספק של Google:terraform init -upgrade
החלה של השינויים
-
בודקים את ההגדרות ומוודאים שהמשאבים שמערכת Terraform תיצור או תעדכן תואמים לציפיות שלכם:
terraform plan
מתקנים את ההגדרות לפי הצורך.
-
מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform:terraform apply
ממתינים עד שב-Terraform תוצג ההודעה "Apply complete!".
- פותחים את Google Cloud הפרויקט כדי לראות את התוצאות. במסוף Google Cloud , נכנסים למשאבים בממשק המשתמש כדי לוודא שהם נוצרו או עודכנו ב-Terraform.
מחיקת השינויים
כדי למחוק את השינויים:
- כדי להשבית את ההגנה מפני מחיקה, מגדירים בקובץ התצורה של Terraform את הארגומנט
deletion_protectionלערךfalse.deletion_protection = "false"
- מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה, כדי להחיל את הגדרות Terraform המעודכנות:terraform apply
-
כדי להסיר משאבים שהוחלו בעבר על הגדרות Terraform, מריצים את הפקודה הבאה ומזינים
yesבהודעה שמופיעה:terraform destroy
REST v1
בדוגמה הבאה נעשה שימוש ב-method databases:insert כדי ליצור מסד נתונים חדש במופע שצוין.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה
- database-name: השם של מסד נתונים בתוך מופע Cloud SQL
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases
תוכן בקשת JSON:
{
"project": "project-id",
"instance": "instance-id",
"name": "database-name"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
REST v1beta4
בדוגמה הבאה נעשה שימוש ב-method databases:insert כדי ליצור מסד נתונים חדש במופע שצוין.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה
- database-name: השם של מסד נתונים בתוך מופע Cloud SQL
ה-method של ה-HTTP וכתובת ה-URL:
POST https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases
תוכן בקשת JSON:
{
"project": "project-id",
"instance": "instance-id",
"name": "database-name"
}
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
לקוח MySQL
מידע נוסף מופיע במאמר בנושא CREATE DATABASE במסמכי התיעוד של MySQL.
מידע נוסף על ערכות תווים ומיון זמין במאמר ערכות תווים, מיון, Unicode.
CREATE DATABASE database_name [[CHARACTER SET charset_name][COLLATE collation_name]];
הצגת רשימת מסדי הנתונים
כדי להציג רשימה של כל מסדי הנתונים במופע:
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בתפריט צד, לוחצים על מסדי נתונים. בדף Databases מופיעה רשימה של מסדי נתונים, לצד סוג האיסוף שלהם, ערכת התווים וסוג מסד הנתונים.
gcloud
מידע נוסף זמין במאמר gcloud
sql databases list.
gcloud sql databases list \ --instance=INSTANCE_NAME
REST v1
הבקשה הבאה משתמשת בשיטה databases:list כדי להציג את רשימת מסדי הנתונים של מופע.
כשמציגים את רשימת מסדי הנתונים באמצעות ה-API, רואים מסדי נתונים נוספים של תבניות ומסד נתונים של המערכת שלא מוצגים במסוף. אי אפשר למחוק את מסד הנתונים של המערכת או לנהל אותו.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
REST v1beta4
הבקשה הבאה משתמשת בשיטה databases:list כדי להציג את רשימת מסדי הנתונים של מופע.
כשמציגים את רשימת מסדי הנתונים באמצעות ה-API, רואים מסדי נתונים נוספים של תבניות ומסד נתונים של המערכת שלא מוצגים במסוף. אי אפשר למחוק את מסד הנתונים של המערכת או לנהל אותו.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה
ה-method של ה-HTTP וכתובת ה-URL:
GET https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
לקוח MySQL
מידע נוסף מופיע במאמר SHOW DATABASES במסמכי העזרה של MySQL.
SHOW DATABASES;
מחיקה של מסד נתונים
כדי למחוק מסד נתונים במופע Cloud SQL:
המסוף
-
נכנסים לדף Cloud SQL Instances במסוף Google Cloud .
- כדי לפתוח את הדף סקירה כללית של מכונה, לוחצים על שם המכונה.
- בתפריט צד, לוחצים על מסדי נתונים.
- ברשימת מסדי הנתונים, מוצאים את מסד הנתונים שרוצים למחוק ולוחצים על סמל האשפה.
- בתיבת הדו-שיח מחיקת מסד נתונים, מזינים את שם מסד הנתונים ולוחצים על מחיקה.
gcloud
מידע נוסף זמין במאמר gcloud
sql databases delete.
gcloud sql databases delete DATABASE_NAME \ --instance=INSTANCE_NAME
REST v1
בדוגמה הבאה של בקשה נעשה שימוש בשיטה databases:delete כדי למחוק את מסד הנתונים שצוין.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה
- database-name: השם של מסד נתונים בתוך מופע Cloud SQL
ה-method של ה-HTTP וכתובת ה-URL:
DELETE https://sqladmin.googleapis.com/v1/projects/project-id/instances/instance-id/databases/database-name
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
REST v1beta4
בדוגמה הבאה של בקשה נעשה שימוש בשיטה databases:delete כדי למחוק את מסד הנתונים שצוין.
לפני שמשתמשים בנתוני הבקשה, צריך להחליף את הנתונים הבאים:
- project-id: מזהה הפרויקט
- instance-id: מזהה המכונה
- database-name: השם של מסד נתונים בתוך מופע Cloud SQL
ה-method של ה-HTTP וכתובת ה-URL:
DELETE https://sqladmin.googleapis.com/sql/v1beta4/projects/project-id/instances/instance-id/databases/database-name
כדי לשלוח את הבקשה צריך להרחיב אחת מהאפשרויות הבאות:
אתם אמורים לקבל תגובת JSON שדומה לזו:
לקוח MySQL
מידע נוסף מופיע במאמר DROP DATABASE במסמכי התיעוד של MySQL.
DROP DATABASE [database_name];