การตั้งค่า MySQL (MariaDB) ใน EFS

การตั้งค่าโฟลเดอร์ MySQL (MariaDB) ใน EFS จะทำให้จัดเก็บข้อมูลจาก MariaDB ลงใน EFS ได้ไม่จำกัด เพราะ EFS เป็นระบบไฟล์ที่มีความยืดหยุ่นสูง ซึ่งจะเพิ่มและลดขนาดโดยอัตโนมัติ โดยที่คุณไม่จำเป็นต้องจัดการหรือจัดเตรียมใดๆ

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

ครั้งนี้ ผมจะมาเขียนบทความเกี่ยวกับการตั้งค่าโฟลเดอร์ MySQL (MariaDB) ใน EFS

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

ต้องทำการติดตั้ง MySQL (MariaDB) ตามด้วยสร้าง Amazon EFS และเชื่อมต่อกับ EC2
ให้ทำเรียงตามลิงก์ด้านล่างนี้ได้เลย

เนื้อหาในบทความนี้จะสามารถทำตามได้ก็ต่อเมื่อ

  • ในกรณีที่มีไฟล์ DB อยู่ใน/var/lib/mysql
  • ในกรณีที่มีการ mount EFS อยู่ใน/mnt/efs

เป้าหมายการตั้งค่าโฟลเดอร์ MySQL (MariaDB)

ตั้งค่าโฟลเดอร์ MySQL (MariaDB) โดยการย้ายโฟลเดอร์/var/lib/mysqlไปยัง/mnt/efs และทำ Symbolic Link จาก MariaDB ไปยัง EFS เพื่อให้สามารถบันทึกข้อมูล DB ลงใน EFS ได้

การตั้งค่าโฟลเดอร์ MySQL (MariaDB) ใน EFS

เราจะเรียกใช้คำสั่งในโปรแกรม PuTTy ให้เปิดโปรแกรม PuTTy ขึ้นมา แล้วเริ่มทำตามขั้นตอนด้านล่างนี้ได้เลย

เรียกใช้คำสั่งนี้เพื่อหยุดการทำงานของ mysql

systemctl stop mariadb

MariaDB-to-EFS-1

เรียกใช้คำสั่งนี้เพื่อสร้างและเปิดการใช้งานขั้นสูงให้กับโฟลเดอร์ในefs

mkdir -p /mnt/efs
chmod 777 /mnt/efs

MariaDB-to-EFS-2-1

เรียกใช้คำสั่งนี้เพื่อย้ายไฟล์จาก/var/lib/mysqlไปยัง/mnt/efs/mysql

mv /var/lib/mysql /mnt/efs/mysql

MariaDB-to-EFS-3

เรียกใช้คำสั่งนี้เพื่อสร้าง Symbolic Link

ln -sf /mnt/efs/mysql /var/lib/mysql

MariaDB-to-EFS-4
Symbolic Link คือ ตัว Shortcut ที่เชื่อมโยงกับไฟล์หรือโฟลเดอร์ที่อยู่ที่อื่น สามารถอ่านเพิ่มเติมได้ที่ Symbolic Link คืออะไร? การสร้าง Symbolic Link ใน Linux

เรียกใช้คำสั่งนี้เพื่อเริ่มต้นระบบ mysql

systemctl start mariadb

MariaDB-to-EFS-5

ทดสอบการเชื่อมต่อและใช้งาน MySQL

เข้าไปยัง Prompt ของ MariaDB ด้วยคำสั่งนี้

mysql -u root -h localhost

MariaDB-to-EFS-6

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

MariaDB [(none)]> show databases;

MariaDB-to-EFS-7

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

MariaDB [(tinnakorn)]> quit

MariaDB-to-EFS-8

ข้อควรระวัง

ถ้าทำการ mount EFS จาก EC2 หลายๆ ครั้ง จะทำให้มีความเสี่ยงที่ฐานข้อมูลจะเสียหายเมื่อใช้ mysql และจะทำให้ช้ากว่าการใส่ไฟล์เข้าไปใน EBS

ข้อดี

เราสามารถใส่ไฟล์ที่มีความจุได้ไม่จำกัด ซึ่งจะต่างจาก EBS ที่เป็นการจ่ายตามขนาดของไฟล์ที่ได้ใส่เข้าไป

สรุป

การตั้งค่าโฟลเดอร์ MySQL (MariaDB) ใน EFS สามารถทำได้ง่ายๆ โดยการสร้างโฟลเดอร์ที่จะใช้เก็บข้อมูลของ MariaDB ใน EFS จากนั้นย้ายโฟลเดอร์ mysql ไปยังโฟลเดอร์ที่สร้างไว้ใน EFS และทำการสร้าง Symbolic Link จาก MariaDB ไปยัง EFS เพียงเท่านี้ก็สามารถที่จะใช้พื้นที่ของ EFS จัดเก็บข้อมูลของ MariaDB ได้แล้ว

นอกจากนี้ยังเป็นการเพิ่มประสิทธิภาพการใช้งานให้กับ MySQL (MariaDB) โดยทำให้จัดเก็บข้อมูลใน EFS ได้ไม่จำกัด เพราะ EFS เป็นระบบไฟล์ที่มีความยืดหยุ่นสูง

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