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) ויוצרים פרויקט חדש:
חשוב לזכור את מזהה הפרויקט הוא שם ייחודי בכל הפרויקטים ב-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. לוחצים על בחירת דור שני.
הלחיצה תעביר אתכם לדף Create a Instance. כאן צריך לציין שם למכונה. שם זה חייב להיות ייחודי בפרויקט, אבל לא בכל הפרויקטים. כך תוכלו להשתמש באותו שם מופע codelab-0 בדוגמה זו, בהנחה שאין בפרויקט שלכם מופעים אחרים של Cloud SQL. מזינים את הפרמטר "codelab-0" בתיבת מזהה המופע. למטרות שיעור הקוד הזה, אפשר להשאיר את שאר ההגדרות עם ערכי ברירת המחדל.
חשוב לדעת שכשמוחקים מופע של Cloud SQL, אי אפשר להשתמש בו בשם אחר במשך עד שבוע. אם אתם מתכננים להשתמש בפרויקט הזה מעבר לניסויים, חשוב לבחור שם מופע שונה מכל שם מכונה שבו אתם רוצים להשתמש בעבודה בפועל, או שלא תוכלו להשתמש שוב בשם המכונה הזה לזמן מה.
גוללים לתחתית הדף ולוחצים על יצירה.
המערכת תעביר אתכם לדף מופעים, שם יופיע מופע חדש עם סמל ספינר בצד ימין, שבו יצוין שהוא עדיין בתהליך:
בעוד שתיים או שלוש דקות המכונה תהיה זמינה, וסימן וי ירוק יחליף את סימן הסיבוב הכחול. חשוב לרענן את הדף מעת לעת:
מופע ה-Cloud SQL מוכן לשימוש.
לוחצים על שם המכונה כדי להציג את דף פרטי המכונה, ולאחר מכן לוחצים על בקרת גישה:
בכרטיסייה 'בקרת גישה', לוחצים על משתמשים:
בכרטיסייה 'משתמשים' לוחצים על שינוי סיסמת בסיס:
מזינים סיסמה חדשה בדף 'שינוי סיסמה' ולוחצים על אישור:
הפעלת Google Cloud Shell באמצעות לחיצה על לחצן הבקשה ב-Google Cloud Console:
אם זו הפעם הראשונה שאתם משתמשים ב-Google Cloud Shell לפרויקט הזה, יוצג לכם המסך של Google Cloud Shell. לוחצים על הפעלת Cloud Shell
התכונה Cloud Shell החדשה תוצג בחלק התחתון של Google Cloud Console, בין אם זו הפעם הראשונה שאתם לוחצים על Start Cloud Shell במסך Google Cloud Shell, או מיד לאחר לחיצה על לחצן הפעלת Google Cloud Shell אם כבר נעשה בו שימוש בעבר.
מתחברים למופע של 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.
למידע נוסף
- צפייה בתיעוד של Google Cloud SQL