การติดตั้ง MySQL 8 และสร้าง Database ใน Amazon Linux 2

MySQL เป็นแพลตฟอร์มฐานข้อมูลโอเพ่นซอร์สที่น่าเชื่อถือและใช้กันอย่างแพร่หลายในปัจจุบัน สามารถติดตั้งได้ใน Linux, macOS และระบบปฏิบัติการอื่น ๆ ซึ่งในบทความนี้จะเป็นการอธิบายเกี่ยวกับวิธีการติดตั้ง MySQL 8 ลงใน Amazon Linux 2 ที่เชื่อมต่อกับ Amazon EC2

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

ครั้งนี้ ผมจะมาอธิบายเกี่ยวกับการติดตั้ง MySQL 8 และสร้าง Database ใน Amazon Linux 2 ในบทความนี้

MySQL 8

MySQL เป็นแพลตฟอร์มฐานข้อมูลโอเพ่นซอร์สที่น่าเชื่อถือและใช้กันอย่างแพร่หลายในปัจจุบัน ซึ่งได้รับความนิยมมากที่สุดในโลก นอกจากนี้ยังได้รับการพัฒนาแจกจ่ายและสนับสนุนโดย Oracle Corporation เป็นฐานข้อมูลเชิงสัมพันธ์ข้ามแพลตฟอร์มที่มีประสิทธิภาพยืดหยุ่นอีกด้วย

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

ต้องทำการติดตั้ง Amazon Linux 2 บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTY เตรียมไว้ แต่ก่อนที่จะเริ่มทำการติดตั้งให้อ่านข้อควรระวังแล้วค่อยทำการติดตั้งครับ

ข้อควรระวัง: เนื่องจากว่าปัจจุบัน MySQL8 ไม่สามารถใช้ EC2 Instance type ที่มี Memory ต่ำกว่า 0.5 GiB ในการติดตั้งได้แล้ว เช่น Instance type: t3a.nano เป็นต้น

ดังนั้นแนะนำให้ใช้ EC2 Instance type ที่มี Memory มากว่า 1 GiB ขึ้นไป เช่น Instance type: t3a.micro เป็นต้น

เมื่ออ่านหมายเหตุเสร็จแล้ว ทำการติดตั้ง Amazon Linux 2 บน EC2 และเชื่อมต่อเซิร์ฟเวอร์ด้วยโปรแกรม PuTTY โดยทำตามขั้นตอนที่ลิงก์ด้านล่างนี้ครับ (สำหรับผู้ใช้งานที่มีอยู่แล้วข้ามขั้นตอนนี้ไปได้เลยครับ)

เมื่อติดตั้ง EC2 Instance เสร็จแล้ว ให้มาที่โปรแกรม PuTTy และทำตามขั้นตอนในหัวข้อถัดไปได้เลย

ขั้นตอนการติดตั้ง MySQL 8

เปลี่ยนจากec2-userให้เป็นrootด้วยคำสั่งนี้

sudo su -

mysql8-1

Update ข้อมูลใน Server Amazon Linux 2 ด้วยคำสั่งนี้

yum update -y

mysql8-2

ติดตั้งแพคเกจ MySQL 8 ด้วยคำสั่งนี้ 【Updated วันที่ 4 เมษายน 2022】

yum localinstall -y https://repo.mysql.com/mysql80-community-release-el7-5.noarch.rpm

mysql8-3-fix

Install MySQL 8 ด้วยคำสั่งนี้

yum install -y mysql-community-server

mysql8-4

เริ่มต้นระบบ MySQL 8 ด้วยคำสั่งนี้

systemctl start mysqld.service

mysql8-5

รันคำสั่งนี้เพื่อเปิดใช้งาน MySQL8

systemctl enable mysqld.service

ตรวจสอบสถานะ MySQL 8 ด้วยคำสั่งนี้
ถ้ามีตัวหนังสือสีเขียวขึ้นมาว่า active (running) ก็คือสามารถใช้งานได้

systemctl status mysqld.service

mysql8-6

ตรวจสอบ Log Files ในระบบ Amazon Linux 2 ด้วยคำสั่งนี้

cat /var/log/mysqld.log

หลังจากเข้ามาที่ไฟล์ mysqld.log แล้ว ให้หา Password ตามที่มาร์คไว้ในรูปภาพ แล้วให้ Copy เก็บไว้ก่อน
Password ในตัวอย่างนี้คือjga=stNXo0oa
mysql8-7

ตั้งค่าพื้นฐานให้กับ MySQL 8 ด้วยคำสั่งนี้

mysql_secure_installation

จากนั้นจะมาทำการเปลี่ยน Password กันในหน้า Terminal PuTTy นี้ ให้ทำตามขั้นตอนนี้ได้เลย
» Enter password for user root: Copy Password เก่ามาวาง เช่นjga=stNXo0oaแล้วกด Enter
» New password: Copy Password ใหม่มาวาง เช่นP@ssW0ldแล้วกด Enter
» Re-enter new password: วาง Password ใหม่อีกครั้ง เช่นP@ssW0ld แล้วกด Enter

* หมายเหตุ การวาง Text หรือ Password ที่ Copy มาลงใน Terminal PuTTy นี้ ไม่ต้องกด Ctrl + V ก็ได้ แค่เราคลิกขวาลงในหน้า Terminal 1 ครั้ง Text ก็จะถูกวางในนี้ !แต่ถ้าเป็นการใส่แบบ Password ตัว Text จะไม่แสดงขึ้นมาให้ดังรูป
mysql8-8

ในส่วนของChange the password for root ?ให้ใส่n
mysql8-9

ในส่วนของRemove anonymous users?ให้ใส่y
mysql8-10

ในส่วนของDisallow root login remotely?ให้ใส่y
mysql8-11

ในส่วนของRemove test database and access to it?ให้ใส่y
mysql8-12

ในส่วนของReload privilege tables now?ให้ใส่y
mysql8-13

การสร้าง Database ใน MySQL 8

เราจะสร้างและทดสอบ Database ง่ายๆ ด้วยวิธีดังต่อไปนี้

เข้าไปยัง Prompt ของ MySQL 8 ด้วยคำสั่งนี้ ตามที่มาร์คไว้

mysql -u root -p mysql -h localhost

ในส่วนของ Enter Password ให้ใส่ Password ที่ทำการเปลี่ยนไปเมื่อสักครู่นี้ เช่นP@ssW0ld
mysql8-c-data-2

เรียกดูข้อมูลใน Database ด้วยคำสั่งนี้

show databases;

mysql8-c-data-3

สร้าง Database ด้วยคำสั่งนี้ ตัวอย่างนี้ผมจะใช้ชื่อtinnakorn-mysql8

CREATE DATABASE `tinnakorn-mysql8` DEFAULT CHARACTER SET 'utf8';

mysql8-c-data-4

เรียกดูข้อมูลใน Database ด้วยคำสั่งนี้อีกครั้ง จะเห็นว่ามีชื่อtinnakorn-mysql8ขึ้นมา

show databases;

mysql8-c-data-5

ทดสอบการจัดการ SQL

เรียกใช้ Database ที่เราสร้างขึ้นมาด้วยคำสั่งนี้

use tinnakorn-mysql8;

mysql8-c-data-6

สร้าง Table ด้วยคำสั่งนี้

create table test2 (id int, name varchar(30));

mysql8-c-data-7

เพิ่มข้อมูลลงฐานข้อมูลด้วยคำสั่งนี้

insert into test2 value (1, 'test');

mysql8-c-data-8

ดึงข้อมูลมาแสดงด้วยคำสั่งนี้

select * from test2;

mysql8-c-data-9

ออกจาก Prompt ด้วยคำสั่งนี้

quit

mysql8-c-data-10

สรุป

การสาธิตเกี่ยวกับ MySQL 8 ในบทความนี้ เป็นการใช้งาน MySQL 8 ร่วมกับ Amazon Linux 2 โดยการติดตั้ง MySQL 8 เข้าไปยัง Amazon Linux 2 และทำการตั้งค่าให้กับตัว MySQL 8 เพื่อให้สามารถใช้งานได้นั่นเอง

บทความที่เกี่ยวข้อง