วันจันทร์ที่ ๒๕ มิถุนายน พ.ศ. ๒๕๕๐

Remote to MySql

ตือนความจำสักหน่อยเกี่ยวกับ การ Remote เข้าสู่ MySQL จากเครื่องอื่น

อดีมีความจำเป็นที่จะ้ต้องแปลงฐานข้อมูลจากไฟล์ Access ไปลง MySql แล้ว MySQL ก็รันอยู่ที่ FreeBSD Server ที่จริงก็มีวิธีการแปลงลงเป็นไฟล์ .sql นะครับ แต่จะเอาไป dump ลง phpmyadmin ก็ใหญ่ไป ตัวโปรแกรมที่ผมใช้แปลงคือ access-to-mysql ซึ่งมันจะสามารถแปลงแล้วส่งไปลงฐานข้อมูลได้โดยตรง ทดสอบกับ MySql Server บนเครื่องตัวเองก่อน ก็เข้าท่าดี ทำงานเร็วดีด้วย แต่มีปัญหาแล้วสิ เพราะต้องการรันโปรแกรมนี้บนเครื่องควบคุมที่ผมใช้งานอยู่ แล้วส่งข้อมูลไปลงเครื่อง FreeBSD Server ที่รัน MySql อยู่

มเคยลอง MySql เวอร์ชันเก่า แต่เป็นเวอร์ชันที่รันบนวินโดว์ แล้วให้อีกเครื่องติดต่อเข้ามาก็ได้ เพียงแต่จะต้องเพิ่มสิทธิ์สำหรับชื่อ host นั้น ๆ เสียก่อน

ช่น เครื่องที่ผมใช้งาน ip คือ 192.168.0.4 ชื่อ user ที่ผมใช้ก็ aphorist ก็ต้องสร้าง user ตามด้วย host 192.168.0.4 ก็จะเป็น aphorist@192.168.0.4 แต่เวลาติดต่อเข้าไปจริง ๆ ก็จะกรอกเฉพาะ aphorist เท่านั้นส่วนตัว host MySql ก็จะตรวจสอบเอง

ต่ว่าก็ยังเข้าใช้ MySql บน FreeBSD ไม่ได้ T-T

ทำไมนะเหรอครับ ผมก็พยายามหาคำตอบกับเรื่องนี้ แต่ในตอนนั้นผมคิดว่าที่จริงแล้วคงเป็นเพราะเรายังไม่ได้กำหนดให้ MySql รับการเชื่อมต่อแบบ TCP/IP ได้ เอาหล่ะเมื่อคิดได้ยังงี้ผมก็ค้นเข้าไปที่ doc ของเว็บ mysql แต่มันลานตาเหลือเกินครับ หาไม่เจอ ที่เจอก็มีแต่ให้สร้างสิทธิ์เหมือนที่ผมบอกไว้ที่ย่อหน้าข้างบน จำต้องพึ่ง กูเกิล แล้วครับ จนในที่สุดก็ได้วิธีการ จาก ที่นี่ ครับนั่นก็คือ เราต้อง แก้ไขไฟล์ my.cnf ซึ่งเป็นไฟล์ตั้งค่าระบบของ MySql นั่นเอง

ซึ่ง

วิธีการปรับตั้งก็มีแค่สองจุดนั่นคือ
ให้คอมเม้นบรรทัด skip-networking ออกไป หรือลบไปเลยก็ได้
#skip-networking <----- คอมเม้นอย่างนี้
แล้วให้เพิ่มบรรทัด
bind-address=192.168.0.3 <---- ipนี้เป็น ip ของ Server เอง

เพียงเท่านี้ MySql ของเราก็จะรับการเชื่อมต่อจาก host อื่นแล้วว

1 ความคิดเห็น:

Soulful กล่าวว่า...

ระวังโดน hack เด้อคับเด้อ เปิด สุ่มหกสุ่มเจ็ดกะดาย ควรป้องกันโดยใช้ acl หรือ chroot แต่ว่าระบบ jail ของ freeBSD เป็นยังงัยนะครับ ผมมันก็มาสายต้อยหมวกแดงสั่นแหล่วเลยบ่ฮู้สิแนะจั่งได๋