Monday, October 22

How to config MySQL Front connect with Raspberry Pi

        หลังจากที่เราได้ติดตั้ง MySQL Server ลง Raspberry Pi แล้ว หากใครยังไม่ติดตั้งดูวิธีติดตั้งย้อนหลังที่นี่ (คลิก)  อย่างที่เรารู้กัน หากต้องการเข้าไปค้นหาข้อมูลในฐานข้อมูล หรือการแก้ไข แทรก ลบ หรือกระทำการใดๆ กับฐานข้อมูล MySQL แล้วหล่ะก็ เราจะต้องกระทำผ่าน console ของ MySQL แล้วใช้คำสั่ง ซึ่งเป็นภาษา SQL ทั้งหมด หากคนที่ยังไม่ค่อยสันทัดภาษานี้แล้วหล่ะก็ ลำบากอยู่พอสมควร หรือแม้ แต่คนที่ใช้ SQL คล่องแล้วก็ตาม หากต้องใช้ console ที่เป็น MySQL หล่ะก็ ก็ต้องพบกับความลำบากในการใช้งานอยู่ไม่น้อยเลย งั้นเรามามองหา Third Party ที่เป็น GUI ในการติดต่อกับฐานข้อมูล MySQL ของ Raspberry Pi กันเหอะ น่าจะทำให้งานเรื่องฐานข้อมูล ง่ายไม่น้อยเลย

ผมอยากจะแนะนำ MySQL Front ตัวนี้ ผมใช้อยู่ประจำ พบว่าใช้งานง่ายมากๆ ทำให้คนที่ไม่ค่อยเข้าใจโครงสร้างของฐานข้อมูล ได้มองเห็นภาพของฐานข้อมูล ตารางข้อมูล และโครงสร้างของมัน ด้วยการนำเสนอในรูปแบบกราฟฟิค ในมุมมองของผู้ใช้งาน ก็เพียงแต่ คลิกๆๆๆ ก็สามารถที่จะใช้งานฐานข้อมูลได้แล้ว

โปรแกรม MySQL Front เป็นโปรแกรมสำหรับ ติดต่อกับฐานข้อมูล MySQL ซึ่งแตกต่างกับ phpmyadmin (ที่ผมไม่ได้ติดตั้งไว้) ตรงที่ phpmyadmin จะกระทำผ่านเว็บบราวเซอร์ แต่ MySQL Front กระทำบนเครื่อง PC ที่เป็น windows (ที่รีโมทเข้าไปใช้งานฐานข้อมูล) เรียกกว่าได้เป็นโปรแกรมที่รันบน windows หล่ะกัน 

อันดับแรกให้เราไปดาวน์โหลดโปรแกรม MySQL Front มาก่อน ผมแนะนำว่าเป็นเวอร์ชั่น 5.2 ขึ้นไป (เข้าไปที่นี่ http://www.mysqlfront.de/) จากนั้นก็ติดตั้งบน windows ตามปกติ

จากนั้นให้เราทำการอัพโหลดไฟล์ C:\Program Files\MySQL-Front\libMySQL.php ด้วยโปรแกรม Filezila จากตอนที่แล้ว (คลิก) เข้าไปไว้ที่โฟวเดอร์ /var/www ของ Rapsberry Pi (เนื่องจากเราต้องติดต่อ MySQL Server ของ Raspberry Pi ผ่าน "HTTP tunnel" )

ทำการแก้ไขโหมดของไฟล์นี้ ให้สามารถ execute ได้ ด้วยคำสั่ง (รู้อยู่ใช่ไหม ขั้นตอนนี้เราต้อง remote ผ่าน SSH เข้าไปทำที่ Raspberry Pi คงไม่ลืมกันนะ)

cd /var/www/

sudo chmod 744 libMySQL.php

ls –la

sudo chmod 744 libMySQL.php

จากนั้น เราจะต้องทำการแก้ไขให้ user root ให้สามารถ login มาจากคอมพิวเตอร์เครื่องใดก็ได้ ให้สามารถเชื่อมต่อฐานข้อมูล MySQL ของ Raspberry Pi ได้ ด้วยการเข้าสร้าง user root  ใน MySQL ด้วยการ login เข้าใช้ MySQL ก่อน ด้วยคำสั่ง

mysql -u root -p เคาะ Enter 1 ครั้ง แล้วใส่ password (หวังว่าคงไม่ลืมเองนะ)

ทำการเช็คดูก่อนว่ามี user root ที่ Host เท่ากับ '%' ไหม ด้วยการค้นหาข้อมูลในฐานข้อมูล mysql  ด้วยคำสั่ง

use mysql;  // เพื่อการย้ายตำแหน่งการทำงานเข้าไปอยู่ที่ตารางข้อมูล mysql

แล้วตามด้วยคำสั่ง

select Host,User,Password from user;

จะพบว่าตอนนี้เรายังไม่มี root ที่ช่อง user และ % ที่ช่อง Host

select Host,User,Password from user;

สมมติว่าไม่มี root ในช่อง User และ '%' ในช่อง Host (ซึ่งสองเงื่อนไขนี้ เป็นตัวบอกว่า root สามารถถูก login จากเครื่องใดๆ ก็ได้)  แต่ถ้าหากว่ามีอยู่แล้ว ก็อาจจะลองลบแล้วสร้างใหม่ก็ได้ โดยใช้คำสั่งลบทิ้งไปก่อน
DELETE FROM mysql.user WHERE User = 'root' AND Host = '%';
FLUSH PRIVILEGES;

จากนั้นเราจะทำการสร้าง user root ให้สามารถ login จากเครื่องใดๆ ก็ได้ ด้วยคำสั่ง

GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'พาสเวิร์ดตามใจเลยครับ';
FLUSH PRIVILEGES;

ลองดูที่ฐานข้อมูลอีกทีจะพบ user root ที่มีค่า Host = '%' เรียบร้อยแล้ว

GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY 'พาสเวิร์ดตามใจเลยครับ';

กลับมาที่เครื่อง PC windows ของเราที่ได้ติดตั้งโปรแกรม MySQL Front ไว้แล้ว เราจะทำการกำหนดค่าเริ่มต้นในการเชื่อมต่อกับฐานข้อมูลของ Raspberry Pi โดยการกำหนดค่า connect ไว้ดังนี้

เปิดโปรแกรม MySQL Front ขึ้นมา แล้วกด F12 จากนั้นให้คลิกที่ New...

ตั้งชื่อ Name ที่ Description ตามใจชอบ

ที่ส่วน Connection ให้กำหนดดังนี้

Server : localhost
Port : 3306
Connection Type : HTTP Tunnel
HTTP Tunnel URI : http://192.168.2.111/libMySQL.php

ในส่วนของ Login Information กำหนดดังนี้

User : root
Password : ที่ตั้งไว้แล้วจากขั้นตอนข้างบน

แล้วกด OK

MySQL Front HTTP Tunnel

จากนั้นกด Open  รอสักครู่ โปรแกรมจะทำการเชื่อมต่อกับฐานข้อมูล MySQL ของ Raspberry Pi (นานหน่อย เพราะ RAM น้อย ) 

จะปรากฏหน้าต่างของฐานข้อมูลบน Raspberry Pi จะเห็นได้ว่า เมื่อดูผ่านโปรแกรม MySQL Front จะเห็นเป็นรูปแบบกราฟฟิค ซึ่งสะดวกกว่าการใช้คำสั่ง SQL พิมพ์บน mysql console  ซึ่งสะดวกกว่ามาก

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

MySQL Front + Raspberry Pi

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

JeawJaw BBank on 8 January 2014 at 19:19 said...
This comment has been removed by a blog administrator.
JeawJaw BBank on 8 January 2014 at 19:22 said...

ถ้าใช้sqliteสามารถใช้แนวนี้ได้มั้ยคับขอคำแนะนำหน่อยคับ

Mr.P on 8 January 2014 at 22:04 said...

ไม่แน่ใจว่า sqlite manager มัน remote ข้ามเครือข่ายได้หรือเปล่านะ ลองดูครับ https://addons.mozilla.org/en-US/firefox/addon/sqlite-manager/

 

แจกฟรี พื้นที่ฝากไฟล์ 15 GB

ติดตามข่าวสารผ่าน Twitter

ติดตาม Blog นี้

About Me

My photo

สวัสดีครับ ชื่อเปิ้ลนะครับ ถ้ามีอะไรให้ช่วยเหลือได้ ก็จะช่วยครับ
ผมได้สร้างบล๊อกไว้ เพื่อเก็บรวบรวมความรู้ และประสบการณ์ในการทำงานครับ แวะไปเยี่ยมชมกันได้ครับ http://mechacity.blogspot.com และบล๊อก http://faker-programmer.blogspot.com ครับ

Blog อื่นๆของฉัน

Microcontroller Electronics update

สถิติเยี่ยมชมบล๊อก