การสร้างและเชื่อมต่อ Database ใน Lightsail
สวัสดีครับ 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) ครับ !