การสร้างและเชื่อมต่อ Database ใน Lightsail

ใน Lightsail มีฟังก์ชันให้เราสามารถสร้าง Database และเชื่อมต่อจากแหล่งที่เราต้องการได้ บทความนี้จะมาแนะนำวิธีการสร้าง Database ใน Lightsail และการเชื่อมต่อทั้งจาก Lightsail Instance และจาก Local โดยอธิบายเนื้อหาไปพร้อมกับการใช้งานจริง

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

สวัสดีครับ POP จากบริษัท Classmethod (Thailand) ครับ

ครั้งนี้จะมาแนะนำการสร้างและเชื่อมต่อ Database ใน Lightsail

สิ่งที่ต้องมี

※เปิดใช้งาน WordPress ด้วย Amazon Lightsail แล้ว
ครั้งนี้เราจะดำเนินการโดยใช้สภาพแวดล้อม WordPress (สามารถใช้ในสภาพแวดล้อม Linux อื่นๆ ได้ด้วย)

ดูตัวอย่างการเปิดใช้งาน Application ได้ที่ลิงก์ด้านล่างนี้

ขั้นตอน

เข้ามาที่หน้า Home ของ Lightsail แล้วเลือกแท็บ Databases แล้วคลิก Create database

เมื่อเข้ามาหน้าจอ "+ Create a database" แล้ว จะทำการตั้งค่าในแต่ละหัวข้อดังนี้ (ในส่วนที่ไม่ได้ตั้งค่าใดๆจะเป็นการใช้ Default ทั้งหมด)
หัวข้อ Database location
» เลือกรีเจี้ยนให้ตรงกับที่เราสร้าง Instance ครั้งนี้คือ Singapore
หัวข้อ Pick your database
» Database: MySQL (8.0.32)

หัวข้อ Choose your database plan
เลือกราคาและสเปคตามที่ต้องการใช้งาน ครั้งนี้จะใช้เป็น Default ก็จะไม่ทำการตั้งค่าใดๆ
» Sort by: Price per month
» $15 USD (ใช้งานได้ฟรีใน 3 เดือนแรก)

หัวข้อ Identify your database
» ป้อนชื่อ Database ตามต้องการ เช่น tinnakorn-db
» คลิก Create database

แล้ว Database ของเราจะมีสถานะเป็น Creating ให้รอระบบสร้าง Database สักครู่ (อาจใช้เวลาประมาณ 5-10 นาที)

เมื่อ Database สร้างเสร็จแล้วจะมีสถานะเป็น Available ครั้งนี้ใช้เวลาประมาณ 8 นาที

การเชื่อมต่อ Database จาก Lightsail Instance

เราจะทำการเชื่อมต่อเข้าไปยัง Lightsail Instance ก่อน และจะเชื่อมต่อเข้าไปยัง Database อีกที

ก่อนอื่นคลิกเข้ามาที่ Database ของเรา แล้วคัดลอกสิ่งต่อไปนี้เตรียมไว้ใช้เชื่อมต่อจาก Lightsail Instance ในภายหลัง
» User name: dbmasteruser
» Password: ********** (คลิก show แล้ว password จะแสดงขึ้นมา และถ้าต้องการเปลี่ยนรหัสผ่านก็สามารถทำได้)
» Endpoint: ls-xxxxxxxxxx.xxxxx.ap-southeast-1.rds.amazonaws.com

กลับมาที่หน้าจอ Instance ของเรา แล้วเปิดหน้าจอ Terminal โดยคลิก Connect using SSH ในหัวข้อ Connect to your instance ในแท็บ Connect (หากเชื่อมต่อกับ Instance อยู่แล้ว ให้ข้ามขั้นตอนนี้ไปได้เลย)

แล้วเชื่อมต่อไปยัง Database โดยรันคำสั่งตามนี้

mysql -h [Endpoint] -u [User name] -p'[Password]'

เมื่อเชื่อมต่อได้แล้วจะแสดงหน้าจอแบบนี้

tinnakorn-wordpress - Terminal | Lightsail - Google Chrome

bitnami@ip-xxx-xx-xx-xxx:~$ mysql -h ls-**********.*****.ap-southeast-1.rds.amazonaws.com -u dbmasteruser -p'**********'
Welcome to the MariaDB monitor.  Commands end with ; or \g.
Your MySQL connection id is 13
Server version: 8.0.32 Source distribution

Copyright (c) 2000, 2018, Oracle, MariaDB Corporation Ab and others.

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

MySQL [(none)]>

การทดสอบสร้าง Database

ตรวจสอบ Database โดยรันคำสั่งนี้

show databases;

นี่คือ Database ค่าเริ่มต้น

tinnakorn-wordpress - Terminal | Lightsail - Google Chrome

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| dbmaster           |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
+--------------------+
5 rows in set (0.004 sec)

MySQL [(none)]>


สร้าง Database โดยรันคำสั่งนี้ (ชื่อ Database ครั้งนี้คือ tinnakorn)

create database database_name;


แล้วรันคำสั่ง show databases อีกครั้ง จะเห็นว่า Database ที่ชื่อ tinnakorn แสดงขึ้นมา

tinnakorn-wordpress - Terminal | Lightsail - Google Chrome

MySQL [(none)]> show databases;
+--------------------+
| Database           |
+--------------------+
| dbmaster           |
| information_schema |
| mysql              |
| performance_schema |
| sys                |
| tinnakorn          |
+--------------------+
6 rows in set (0.001 sec)

MySQL [(none)]> 


ใช้คำสั่ง use เพื่อเปลี่ยนไปใช้ Database ที่สร้างขึ้นมา ครั้งนี้คือ tinnakorn

use database_name;

tinnakorn-wordpress - Terminal | Lightsail - Google Chrome

MySQL [(none)]> use tinnakorn;
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A

Database changed
MySQL [tinnakorn]>


สร้าง Table โดยรันคำสั่งนี้ (ชื่อ Table ครั้งนี้คือ test)

create table table_name (id int, message text);


Insert ข้อมูลโดยรันคำสั่งนี้

insert into table_name (id, message) values (1, 'test');


เรียกดูข้อมูลใน Table โดยรันคำสั่งนี้ (ข้อมูลที่เรียกดูใน Table ครั้งนี้คือ test)

select * from table_name;

tinnakorn-wordpress - Terminal | Lightsail - Google Chrome

MySQL [tinnakorn]> select * from test;
+------+---------+
| id   | message |
+------+---------+
|    1 | test    |
+------+---------+
1 row in set (0.001 sec)

MySQL [tinnakorn]>


ออกจาก MySQL โดยรันคำสั่งนี้ หรือจะกดปุ่ม Ctrl+D ก็ได้ แล้วปิดหน้าจอ Terminal ไปได้เลย

quit

tinnakorn-wordpress - Terminal | Lightsail - Google Chrome

MySQL [tinnakorn]> quit
Bye
bitnami@ip-xxx-xx-xx-xxx:~$

การติดตั้ง MySQL Workbench และเชื่อมต่อจาก Local

เราจะเชื่อมต่อจาก Local ไปยัง Database ที่สร้างใน Lightsail โดยใช้โปรแกรม MySQL Workbench
ก่อนอื่นให้ดาวน์โหลดและติดตั้งโปรแกรม MySQL Workbench บนอุปกรณ์ของเราก่อน

การติดตั้ง MySQL Workbench

คลิกลิงก์ Download MySQL Workbench แล้วคลิก Download Now »

เลือก Select Operating System: Microsoft Windows และคลิก Download

คลิก No thanks, just start my download. แล้วเบราว์เซอร์จะดำเนินการดาวน์โหลดไฟล์ "mysql-workbench-community-8.0.3x-winx64.msi" ลงในอุปกรณ์ของเราโดยอัตโนมัติ

แล้วเปิดไฟล์ที่ดาวน์โหลดมาจากที่เก็บไฟล์ของเราเพื่อดำเนินการติดตั้ง MySQL Workbench ได้เลย

* หลังจากคลิก Install แล้ว จะมีหน้าจอ User Account Control ปรากฏขึ้นมาถามว่า "Do you want to allow this app to make changes to your device?" ให้เลือก Yes

การเชื่อมต่อจาก Local

กลับมาที่หน้าจอ Database ของเรา แล้วเลือกแท็บ Connect แล้วดูที่ Public mode ในหัวข้อ Endpoint and port
จะเห็นว่า Public mode มีสถานะเป็น disabled ให้คลิก disabled ได้เลย

แล้วหน้าจอจะย้ายมาที่แท็บ Networking โดยอัตโนมัติแบบนี้

แล้วเปิดใช้งานโดยเลื่อนสวิตช์มาด้านขวาให้เป็นเครื่องหมาย ✅ แล้วรอ Applying settings สักครู่ (อาจใช้เวลา 1-2 นาที)
เมื่อเปิดใช้งานเสร็จแล้วจะแสดงหน้าจอแบบนี้

กลับมาที่แท็บ Connect แล้วดูที่ Public mode ในหัวข้อ Endpoint and port อีกครั้ง
จะเห็นว่า Public mode มีสถานะเป็น enabled แล้ว

เปิดโปรแกรม MySQL Workbench ขึ้นมา ก็จะแสดงหน้าจอโปรแกรมแบบนี้
แล้วเลือกแท็บ Database ที่ด้านบนซ้าย แล้วเลือก Connect to Database...

กลับไปหน้าจอ Database ใน Lightsail แล้วคัดลอก User name, Password, Endpoint อีกครั้ง แล้วป้อนข้อมูลตามนี้
» Hostname: ป้อน Endpoint
» Username: ป้อน User name
» Password: คลิก Store in Vault...

ป้อน Password ที่คัดลอกจากขั้นตอนที่แล้ว แล้วคลิก OK และคลิก OK ในหน้า Connect to Database อีกครั้งเพื่อเชื่อมต่อไปยัง Database ของ Lightsail แล้วรอการเชื่อมต่อสักครู่

เมื่อเชื่อมต่อสำเร็จแล้วจะแสดงหน้าจอแบบนี้

การตรวจสอบ Database ใน MySQL Workbench

เมื่อสามารถเชื่อมต่อ Database ของ Lightsail ได้แล้ว เราจะมาตรวจสอบ Database และข้อมูลที่สร้างใน Linux กัน

ให้เลือกแท็บ Schemas ก็จะเห็น Database ที่เราสร้างไว้ ครั้งนี้คือ tinnakorn
แล้วคลิกเปิด Table ตามนี้ ▶ database_name > ▶ Tables > คลิกขวาที่ ▶ table_name > เลือก Select Rows - Limit 1000

แล้วจะเห็นข้อมูลที่เราสร้างใน Linux แสดงขึ้นมาแบบนี้

สรุป

เราสามารถเชื่อมต่อ Database ที่สร้างใน Lightsail ได้ทั้งจาก Lightsail Instance และจาก Local ได้อย่างง่ายดาย

ผมหวังว่าบทความนี้จะเป็นประโยชน์ให้กับผู้อ่านได้นะครับ

POP จากบริษัท Classmethod (Thailand) ครับ !

Link อ้างอิง