Introduction:
mSQL เป็น Database Server ที่เป็นที่นิยมบน Linux เนื่องจากมีขนาดเล็ก
แต่สามารถรองรับงานทั้งขนาดเล็ก และขนาดกลางได้ดี การติดตั้งก็สามารถทำได้ง่าย
และที่สำคัญ สามารถพัฒนาระบบติดต่อผู้ใช้ผ่านทาง WWW ได้โดยง่าย
Prerequirement :
ชุดโปรแกรม mSQL สามารถหาได้จาก homepage ของ บริษัท Hughes
<http://www.hughes.com.au>ซึ่งเป็นผู้ผลิต
mSQL หรือ download จาก Intanon.NECTEC ftp server <ftp://proxy.intanon.nectec.or.th/pub/linux/database>
การติดตั้งโปรแกรม mSQL
login เป็น root หรือว่า login เป็นผู้ใช้ปกติ แล้วใช้คำสั่ง su เพื่อเป็น
root
เมื่อทำการ Download ชุดโปรแกรมได้แล้ว ให้นำไปไว้ที่ directory /usr/local
แล้วทำการขยาย file ดังนี้
# mv msql-2.0.4.1.tar.gz /usr/local
# cd /usr/local
# gzip -d msql-2.0.4.1.tar.gz
# tar -xvf msql-2.0.4.1.tar
หมายเหตุ ถ้าเป็น mSQL Version อื่น ที่ไม่ใช่ 2.0.4.1 ก็ให้เปลี่ยนชื่อตาม
เลข version นั้น
เสร็จแล้ว ให้เข้าไปยัง directory msql-2.0.4.1 แล้วทำการ run โปรแกรม
make ดังนี้
# cd msql-2.0.4.1
# make target
เสร็จแล้วโปรแกรม make จะทำการสร้าง Target directory ขึ้นมาเป็น directory
ย่อยใน directory targets อีกทีหนึ่ง ให้เข้าไปยัง directory นั้น
# cd targets/Linux-2.0.34-i686
หมายเหตุ ชื่อ Target directory นี้ อาจจะแตกต่างกันไปในแต่ละเครื่อง
เช่นเครื่องที่ใช้ Linux kernel version 2.0.33 และเป็นเครื่อง pentium ก็จะมี
Target directory ชื่อว่า Linux-2.0.33-i586 เป็นต้น จึงอาจจะทำการ cd เข้าไปยัง
directory targets ก่อน แล้วทำการ list directory ดูก่อนว่ามี Target Directory
ชื่อว่าอะไรเป็นต้น
แล้วให้ทำการ run โปรแกรม setup และโปรแกรม make อีกครั้งดังนี้
# ./setup
...
# make all
...
# make install
เมื่อทำการ run โปรแกรม make พร้อมกับ option install แล้วโปรแกรม make
จะทำการ ติดตั้งชุดโปรแกรม mSQL ไว้ที่ directory /usr/local/Hughes ซึ่งในขณะนี้
จะทำการลบ Directory /usr/local/msql-2.0.1.4 ออกไปเลยก็ได้ หรือจะเก็บไว้ก็ได้
การปรับแต่งโปรแกรม mSQL
ทำการ add user ชื่อว่า msql ให้มี home directory อยู่ที่ /usr/local/Hughes
แล้ว ทำการ logout
เข้าไปที่ directory /usr/local/Hughes แล้วทำการ copy file msql.acl.sample
เป็น file msql.acl ดังนี้
# cp msql.acl.sample msql.acl
แล้วทำการแก้ไข file msql.conf โดยเปลี่ยนชื่อ Admin_User จาก root ให้เป็น
msql เสียก่อน
เสร็จแล้ว ลองทำการ run โปรแกรม mSQL เพื่อทำการทดสอบดังนี้
# cd bin
# ./msql2d
ถ้าขึ้นข้อความตามด้านบน แสดงว่าการทำงานเรียบร้อยดี ให้ทำการหยุดการทำงานโดยกดปุ่ม CTRL-C แล้วไปแก้ไข file /etc/rc.d/rc.local (กรณีนี้สำหรับ Slackware Distribution , สำหรับ Redhat Distribution ให้ไปแก้ไข file ใน directory /etc/rc.d/rc3.d/ ตามที่เหมาะสม) เพื่อให้เครื่องทำการ run โปรแกรม mSQL ทุกครั้งที่ทำการ boot เครื่อง โดยเพิ่มข้อความต่อไปนี้ ที่ท้าย file /etc/rc.d/rc.localMini SQL Version 2.0.4.1
Copyright (c) 1993-94 David J. Hughes
Copyright (c) 1995-98 Hughes Technologies Pty Ltd.
All rights reserved.Loading configuration from '/usr/local/Hughes/msql.conf'.
Server process reconfigured to accept 200 connections.
Server running as user 'msql'.
Server mode is Read/Write.
MSQL=/usr/local/Hughes
if [ -f $MSQL/bin/msql2d ]
then
echo "Start mSQL Database Server"
$MSQL/bin/msql2d 1>/dev/null 2>/dev/null &
fi
เสร็จแล้้้ว ให้ start โปรแกรม mSQL ขึ้นใหม่อีกครั้ง เพื่อใช้ในการสร้าง
Database ต่อไป ดังนี้
# cd /usr/local/Hughes/bin
# msql2d &
การใช้คำสั่ง msqladmin เพื่อจัดการ Database
คำสั่ง msqladmin จะใช้ในการควบคุมการทำงานของโปรแกรม mSQL โดยจะสามารถใช้ในการสร้าง/ลบ/ทำสำเนา/เปลี่ยนชื่อ
หรือว่าใช้ในการตรวจสอบสถานะการทำงานต่าง ๆ โดยมีการทำงานที่สำคัญดังนี้
นอกจากนั้นยังมีคำสั่งอื่น ๆ อีกเช่น reload ใช้เมื่อต้องการ reload system ใหม่ shutdown ใช้เมื่อต้องการหยุดการทำงาน เป็นต้น
- การสร้าง Database ใหม่
ทำได้โดยใช้คำสั่ง
$ msqladmin create DatabaseName>
เมื่อ DatabaseName> คือชื่อ Database ที่ต้องการสร้าง- การลบ Database
ทำได้โดยใช้คำสั่ง
$ msqladmin drop DatabaseName>
เมื่อ DatabaseName> คือชื่อ Database ที่ต้องการลบ- การทำสำเนา Database
ทำได้โดยใช้คำสั่ง
$ msqladmin copy FromDB> ToDB>
เมื่อ FromDB> คือ ชื่อ Database ต้นฉบับ และ ToDB> คือชื่อ Database ที่ต้องการสร้างใหม่- การเปลี่ยนชื่อ Database
ทำได้โดยใช้คำสั่ง
$ msqladmin move FromDB> ToDB>
เมื่อ FromDB> คือชื่อ Database เดิม และ ToDB> คือชื่อใหม่ที่ต้องการเปลี่ยน- การตรวจสอบสถานะการทำงาน
ทำได้โดยใช้คำสั่ง
$ msqladmin stats
การใช้คำสั่ง msql เพื่อติดต่อกับโปรแกรม mSQL
คำสั่ง msql เป็นคำสั่งเพื่อใช้ในการติดต่อกับโปรแกรม mSQL คำสั่งนี้จะอยู่ใน
directory /usr/local/Hughes/bin โดยจะต้องระบุว่าต้องการติดต่อเพื่อจัดการกับ
Database ตัวไหน เช่น
$ msqladmin create TestDB
Database "TestDB" created.
$ msql TestDB
Welcome to the miniSQL monitor. Type \h for help.
mSQL >
จะเห็นว่า prompt รับคำสั่งจะเปลี่ยนเป็น mSQL> เพื่อบอกว่า โปรแกรม mSQL
กำลังรอรับคำสั่งอยู่ สำหรับคำสั่งที่จะใช้ ในการสั่งโปรแกรม mSQL นั้น จะอยู่ในรูปของ
SQL (Structural Query Language) ซึ่งสามารถศึกษาโครงสร้างของคำสั่งได้ที่
homepage ของบริษัท Hughe ที่หน้า Language Specification <http://www.hughes.com.au/library/msql2/manual/spec.htm>
เช่น เมื่อต้องการสร้าง Table เพื่อเก็บข้อมูลหมายเลขโทรศัพท์ ที่ประกอบไปด้วย
field 4 field ดังนี้คือ
| ชื่อ | ชนิด | ขนาด |
| idx | int | - |
| name | character | 40 |
| character | 40 | |
| phone | character | 40 |
mSQL >
จากตัวอย่างจะเห็นว่า เมื่อเราพิมพ์บรรทัดแรกเสร็จ แล้วกด Enter mSQL
ยังไม่คืน prompt แต่จะขึ้น prompt ใหม่ เป็น -> เพื่อบอกให้รู้ว่า คำสั่งยังไม่จบ
และเมื่อเราพิมพ์คำสั่งจบแล้ว ก็ให้พิมพ์ \g ต่อ เพื่อบอกว่า พิมพ์ เสร็จแล้ว
ถ้าไม่มี Error โปรแกรม mSQL ก็จะแจ้งว่า Query OK แล้ว เมื่อต้องการป้อน
ข้อมูลเข้าไป ก็สามารถทำได้ดังนี้
mSQL > INSERT INTO phone (
-> idx, name, email, phone
-> ) VALUES (
-> 1, 'Pruet Boonma', 'pruet@ds90.intanon.nectec.or.th', '+66-53-944140
ext 206')\g
Query OK. 1 row(s) modified or retrieved.
mSQL >
และเมื่อต้องการแสดงข้อมูลใน Table นั้น ก็ทำได้โดย
mSQL > SELECT * FROM phone\g
Query OK. 1 row(s) modified orretrieved.
+-----+--------------+---------------------------------+----------------------+
| idx | name
| email
| phonee
|
+-----+--------------+---------------------------------+----------------------+
| 1 | Pruet Boonma | pruet@ds90.intanon.nectec.or.th
| +66-53-944140 ext 206|
+-----+--------------+---------------------------------+----------------------+
mSQL >
และเมื่อต้องการจบการทำงานของ msql ก็ใช้คำสั่ง \q ดังตัวอย่าง
mSQL > \q
Bye!
$
เป็นต้น สำหรับรายละเอียดของการใช้ SQL สั่งงานโปรแกรม mSQL ก็สามารถศึกษาได้จาก
เอกสารที่ให้ไว้ด้านบน
สำหรับการสร้างระบบติดต่อผู้ใช้ผ่านทาง WWW ขอให้อ่านจาก Mini howto ของ
PHP ต่อไป