יצירת מסד נתונים MySQL מנוהל באמצעות Cloud SQL

Google Cloud SQL הוא שירות של מסד נתונים המנוהל באופן מלא. הוא מאפשר להגדיר, לתחזק ולנהל בקלות את מסדי הנתונים של MySQL הפועלים בענן.

בשיעור Lab זה ניצור מופע חדש וריק של Cloud SQL, נקשר אליו באמצעות ממשק שורת הפקודה MySQL וניצור מסד נתונים חדש וריק.

מה תלמדו

  • איך ניגשים לממשק המשתמש של Cloud SQL באינטרנט ב-Google Cloud Console.
  • איך יוצרים מופע ב-Cloud SQL באמצעות Google Cloud Console.
  • איך מגדירים סיסמה בסיסית באמצעות Google Cloud Console.
  • איך מתחברים למופע ב-Cloud SQL באמצעות Cloud Shell.
  • איך מוחקים מופע של Cloud SQL באמצעות Google Cloud Console.

מה תצטרך להכין

איך תשתמשו במדריך הזה?

לקרוא אותו בלבד לקרוא אותו ולהשלים את התרגילים

איך היית מדרג את חוויית השימוש שלך ב-Google Cloud Platform Services וב-Firebase?

מתחילים מתחילים בקיאים

הגדרת סביבה בקצב עצמי

אם עדיין אין לכם חשבון Google (Gmail או Google Apps), עליכם ליצור חשבון. נכנסים למסוף ב-Google Cloud Platform (console.cloud.google.com) ויוצרים פרויקט חדש:

צילום מסך מ-2016-02-10 12:45:26.png

חשוב לזכור את מזהה הפרויקט הוא שם ייחודי בכל הפרויקטים ב-Google Cloud (השם הקודם כבר תפוס, והוא לא יעבוד בשבילך.) נתייחס אליו מאוחר יותר ב-codelab הזה בתור PROJECT_ID.

לאחר מכן, עליך להפעיל חיוב ב-Cloud Console כדי להשתמש במשאבים של Google Cloud.

התהליך של קוד Lab זה לא אמור לעלות יותר מדולר אחד, אבל יכול להיות שתצטרכו לשלם על משאבים נוספים או להשאיר אותו פעיל (עיינו בקטע "cleanup" בסוף המסמך).

משתמשים חדשים ב-Google Cloud Platform זכאים לתקופת ניסיון בחינם בשווי 300$.

ב-Google Cloud Console, לוחצים על סמל התפריט בפינה הימנית העליונה של המסך:

גוללים למטה ובוחרים באפשרות SQL בקטע המשנה אחסון:

עכשיו אתם אמורים לראות את ממשק המשתמש של Cloud SQL, ובהנחה שאתם משתמשים בפרויקט שאין בו כרגע מופעים של Cloud SQL, תופיע תיבת דו-שיח שבה תוכלו ליצור מופע חדש של Cloud SQL.

אם אתם משתמשים בפרויקט שכבר כולל מופע אחד או יותר של Cloud SQL, במקום זאת תופיע רשימה של האירועים האלה:

בהנחה שלפרויקט אין מופעים של Cloud SQL, לוחצים על הלחצן Create instance כדי ליצור מופע:

אם אתם כבר משתמשים בפרויקט שכבר יש לו מופע אחד או יותר של Cloud SQL, לחצו על הלחצן Create instance במסך Instances כפי שמוצג כאן:

בכל מקרה, בשלב זה יוצג הדף בחירת סוג מכונה. במעבד קוד זה, ניצור מופע של דור שני של Cloud SQL. לוחצים על בחירת דור שני.

2ndGenCloudSQLCreate.png

הלחיצה תעביר אתכם לדף Create a Instance. כאן צריך לציין שם למכונה. שם זה חייב להיות ייחודי בפרויקט, אבל לא בכל הפרויקטים. כך תוכלו להשתמש באותו שם מופע codelab-0 בדוגמה זו, בהנחה שאין בפרויקט שלכם מופעים אחרים של Cloud SQL. מזינים את הפרמטר "codelab-0" בתיבת מזהה המופע. למטרות שיעור הקוד הזה, אפשר להשאיר את שאר ההגדרות עם ערכי ברירת המחדל.

חשוב לדעת שכשמוחקים מופע של Cloud SQL, אי אפשר להשתמש בו בשם אחר במשך עד שבוע. אם אתם מתכננים להשתמש בפרויקט הזה מעבר לניסויים, חשוב לבחור שם מופע שונה מכל שם מכונה שבו אתם רוצים להשתמש בעבודה בפועל, או שלא תוכלו להשתמש שוב בשם המכונה הזה לזמן מה.

2ndGenCloudSQLCreate_2.png

גוללים לתחתית הדף ולוחצים על יצירה.

2ndGenCloudSQLCreate_3.png

המערכת תעביר אתכם לדף מופעים, שם יופיע מופע חדש עם סמל ספינר בצד ימין, שבו יצוין שהוא עדיין בתהליך:

בעוד שתיים או שלוש דקות המכונה תהיה זמינה, וסימן וי ירוק יחליף את סימן הסיבוב הכחול. חשוב לרענן את הדף מעת לעת:

מופע ה-Cloud SQL מוכן לשימוש.

לוחצים על שם המכונה כדי להציג את דף פרטי המכונה, ולאחר מכן לוחצים על בקרת גישה:

בכרטיסייה 'בקרת גישה', לוחצים על משתמשים:

בכרטיסייה 'משתמשים' לוחצים על שינוי סיסמת בסיס:

מזינים סיסמה חדשה בדף 'שינוי סיסמה' ולוחצים על אישור:

הפעלת Google Cloud Shell באמצעות לחיצה על לחצן הבקשה ב-Google Cloud Console:

אם זו הפעם הראשונה שאתם משתמשים ב-Google Cloud Shell לפרויקט הזה, יוצג לכם המסך של Google Cloud Shell. לוחצים על הפעלת Cloud Shell

CloudShellWelcome.png

התכונה Cloud Shell החדשה תוצג בחלק התחתון של Google Cloud Console, בין אם זו הפעם הראשונה שאתם לוחצים על Start Cloud Shell במסך Google Cloud Shell, או מיד לאחר לחיצה על לחצן הפעלת Google Cloud Shell אם כבר נעשה בו שימוש בעבר.

צילום מסך 2016-03-07 בשעה 12.18.01.png

מתחברים למופע של Cloud SQL באמצעות פקודת gcloud sql שמופיעה למטה, אבל מחליפים את "codelab-0" בשם המכונה, אם הוא שונה:

gcloud sql connect codelab-0 --user=root

אתם אמורים לראות:

$ gcloud sql connect codelab-0 --user=root
Whitelisting your IP for incoming connection for 1 minute...done.
Enter password: 
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 11302
Server version: 5.6.29-google-log (Google)

Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
Owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

כפי שמוצג כאן, תופיע בקשה להזין את הסיסמה שהגדרת בשלב הקודם. מעכשיו יש לך בקשת MySQL שעובדת באופן מלא, ונכנסת בתור "root" אפשר להשתמש באפשרות הזאת כדי להזין הצהרות SQL, כמו זו, כדי ליצור מסד נתונים חדש בשם "codelab"

mysql> CREATE DATABASE codelab;
Query OK, 1 row affected (0.00 sec)

אם השאילתה חוזרת עם אישור, המכונה תפעל. הגיע הזמן לצאת ולטעון נתונים לדוגמה כדי להריץ כמה שאילתות אמיתיות.

מקלידים 'exit;' ומקישים על Enter כדי לצאת מהודעת ה-myql.

אנחנו נטען את קבוצת נתוני העובדים לדוגמה שמופיעה בתיעוד הרשמי של MySQL.

תחילה עלינו להוריד את הסקריפטים ואת הנתונים:

$ wget https://codeload.github.com/datacharmer/test_db/zip/master -O sampledb.zip
$ unzip sampledb.zip && cd test_db-master

שנית, עלינו ליצור את מסד הנתונים והטבלאות ולטעון את הנתונים. שוב, יש להחליף את codelab-0 בשם המכונה, אם הוא שונה:

$ gcloud sql connect codelab-0 --user=root < employees.sql

עכשיו אנחנו יכולים להריץ שאילתות על הנתונים. למטה מוצגות כמה שאילתות לדוגמה. אפשר גם ליצור כמה שאילתות בעצמכם. כדי להכיר את סכימת ה-Db, יש לבדוק את הקובץ employees.sql. קודם מתחברים להודעת ה-sql ועוברים למסד הנתונים של העובדים. שוב, יש להחליף את codelab-0 בשם המכונה, אם הוא שונה:

$ gcloud sql connect codelab-0 --user=root
mysql> USE employees;
Reading table information for completion of table and column namesYou can turn off this feature to get a quicker startup with -A

Database changed
mysql> SELECT avg(s.salary) avg_salary_by_hire_year, YEAR(e.hire_date) FROM employees e, salaries s WHERE e.emp_no = s.emp_no GROUP BY YEAR(e.hire_date);
+-------------------------+-------------------+
| avg_salary_by_hire_year | YEAR(e.hire_date)|
+-------------------------+-------------------+
|              66966.7550 |              1985 |
|              66187.3453 |              1986 |
...
16 rows in set (2.70 sec)

mysql> SELECT de.dept_no, sum(s.salary) sum_salaries_per_department FROM employees e, salaries s, dept_emp de WHERE e.emp_no = de.emp_no AND e.emp_no = s.emp_no GROUP BY de.dept_no;
+---------+-----------------------------+
| dept_no | sum_salaries_per_department|
+---------+-----------------------------+
| d001    |                 13725425266 |
| d002    |                 11650834677 |
...
+---------+-----------------------------+
9 rows in set (4.22 sec)

mysql> exit;

אחרי שמסיימים לשאול את מערך הנתונים לדוגמה של העובדים, יש להשתמש בפקודה 'exit'' כדי לצאת מהודעת ה-mysql.

שלב זה הוא אופציונלי. אם ברצונך להמשיך להתנסות במופע של Cloud SQL, אין צורך למחוק אותו בשלב זה. עם זאת, נמשיך לחייב את הפרויקט שבו אתם משתמשים. אם אין לך עוד צורך במכונה הזו, עליך למחוק אותה בשלב זה כדי להימנע מחיובים אלה.

חשוב לדעת שכשמוחקים מופע של Cloud SQL, אי אפשר להשתמש בו בשם אחר במשך עד שבוע.

יש שתי דרכים למחוק את המופע של Cloud SQL.

1) להשתמש ב-gcloud בסביבת Cloud Shell. שוב, יש להחליף את codelab-0 בשם המכונה, אם הוא שונה:

$ gcloud sql instances delete codelab-0
All of the instance data will be lost when the instance is deleted.

Do you want to continue (Y/n)?  Y

Deleting Cloud SQL instance...done.
Deleted
$

או

2) חוזרים לדף המופעים של Cloud SQL על ידי לחיצה על SQL בפינה הימנית העליונה:

פותחים את התפריט הנפתח לצד המופע שרוצים למחוק ובוחרים באפשרות "Delete"

מחיקת מכונה היא סופית! לא ניתן לשחזר את הנתונים מהמופע הזה. כדי למנוע מחיקה בטעות של המופע הלא נכון, עליכם לאשר את המחיקה על ידי הזנת שם המופע בתיבת הדו-שיח.

מזינים את שם המכונה ומקישים על Delete (מחיקה).

יצרת מופע חדש של Cloud SQL, הגדרת סיסמה לרמה הבסיסית (root), יצרת מסד נתונים ריק ו-(אופציונלי) מחקת את המופע של Cloud SQL.

באילו נושאים מדובר?

  • יצירת מופעים ב-Cloud SQL באמצעות Google Cloud Console.
  • הגדרת סיסמת בסיס של SQL דרך Google Cloud Console.
  • מתחבר למסד הנתונים באמצעות לקוח mysql.
  • יצירת מסד נתונים חדש ב-MySQL דרך הודעת mysql.
  • מחיקת המופע של Cloud SQL.

למידע נוסף