การเชื่อมต่อ MySQL/MariaDB สำหรับ Python แอปพลิเคชัน

MariaDB และ MySQL นั้นได้รับความนิยมอย่างสูงในหมู่ของนักพัฒนาทั่วโลก เมื่อต้องการฐานข้อมูล SQL แบบโอเพนซอร์ส ในส่วนของคำแนะนำนี้เราจะแสดงถึงวิธีการเชื่อมต่อ Python แอปพลิเคชัน โฮสต์ภายใน Ruk-Com PaaS ไปยังหนึ่งในเซิร์ฟเวอร์ฐานข้อมูลเหล่านี้

  1. ล็อกอินสู่ Ruk-Com แดชบอร์ดและสร้าง Env ใหม่ ทั้งเซิร์ฟเวอร์ Python และ MySQL (หรือ Python และ MariaDB)

เคล็ดลับ
การค้นหา instances ภายใน Env เดียวเป็นเพียงตัวอย่างเท่านั้น คุณสามารถสร้างการเชื่อมต่อระหว่าง Env ต่าง ๆ ได้ในลักษณะเดียวกัน

  1. หลังจากสร้าง Env เข้าถึงแอปพลิเคชันเซิร์ฟเวอร์ของคุณผ่าน Ruk-Com SSH Gate เช่น โดยการกดปุ่ม Web SSH

โปรแกรมจำลองเทอร์มินัลที่มีการเชื่อมต่อ SSH โดยอัตโนมัติไปยังโหนดของคุณจะถูกเปิดขึ้นในแท็บที่เหมาะสม

  1. ตอนนี้ให้ทำการติดตั้ง MySQL connector for Python (สามารถใช้งานได้ดีกับ MariaDB) ด้วยคำสั่งต่อไปนี้
pip install mysql-connector

หมายเหตุ
ในกรณีที่ใช้การเชื่อมต่อของ MySQL ในเวอร์ชันที่ใหม่กว่า คุณต้องติดตั้ง Protobuf C++ ของเวอร์ชัน 2.6.0 หรือเวอร์ชันที่สูงกว่า

  1. ถัดไป ลองสร้างสคริปต์ Python ง่าย ๆ เพื่อสร้างการเชื่อมต่อฐานข้อมูล คุณสามารถใช้โปรแกรม text editor ใด ๆ ได้ตามที่ต้องการสำหรับงานนี้ เช่นเดียวกับชื่อไฟล์ที่มีนามสกุล .py (เช่น vim script.py)
import mysql.connector
from mysql.connector import errorcode

config = {
    'user': '{user}',
    'password': '{password}',
    'host': '{host}',
    'database': '{database}'
}

cnx = cur = None
try:
    cnx = mysql.connector.connect(**config)
except mysql.connector.Error as err:
    if err.errno == errorcode.ER_ACCESS_DENIED_ERROR:
        print('Something is wrong with your user name or password')
    elif err.errno == errorcode.ER_BAD_DB_ERROR:
        print("Database does not exist")
    else:
        print(err)
else:
    print("You are connected!")
finally:
    if cur:
        cur.close()
    if cnx:
        cnx.close()

ตอนนี้คุณต้องปรับการเชื่อมต่อสตริง (ข้อมูลที่จำเป็นทั้งหมดนั้นมีให้ในอีเมลสำหรับโหนด MySQL / MariaDB ของคุณ)

  • {user} – ชื่อผู้ใช้งานสำหรับการล็อกอินเข้าสู่ฐานข้อมูล
  • {password} – รหัสผ่านสำหรับผู้ใช้งานที่เหมาะสม
  • {host} – เชื่อมต่อไปยัง MySQL / MariaDB container
  • {database} – ฐานข้อมูลที่ต้องการเข้าถึง (เช่น mysql ที่เป็นค่าตั้งต้น)

สคริปต์นี้จะเชื่อมต่อไปยังเซิร์ฟเวอร์ฐานข้อมูลที่ระบุด้วยรายละเอียดการรับรองที่ให้ไว้และจะแสดงข้อผิดพลาดของการเชื่อมต่อ (ถ้ามี) หรือข้อความว่า “You are connected!”

  1. ดังนั้น มาลองรันโค้ดของเราด้วยคำสั่งที่เหมาะสมกันดีกว่า
python script.py

ถ้าข้อความ You are connected!” ปรากฏในเทอร์มินัล การเชื่อมต่อจะถือว่าสำเร็จ ตอนนี้คุณสามารถมั่นใจได้ว่าเซิร์ฟเวอร์ฐานข้อมูลของคุณนั้นเข้าใช้งานได้และคุณสามารถ extend the code เพื่อดำเนินการได้ตามที่ต้องการ