เตือนความจำสักหน่อยเกี่ยวกับ การ 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 ความคิดเห็น:
ระวังโดน hack เด้อคับเด้อ เปิด สุ่มหกสุ่มเจ็ดกะดาย ควรป้องกันโดยใช้ acl หรือ chroot แต่ว่าระบบ jail ของ freeBSD เป็นยังงัยนะครับ ผมมันก็มาสายต้อยหมวกแดงสั่นแหล่วเลยบ่ฮู้สิแนะจั่งได๋
แสดงความคิดเห็น