วันอาทิตย์ที่ 15 มีนาคม พ.ศ. 2552

การติดตั้งโปรแกรม mySQL Database Server บน Linux

การติดตั้งโปรแกรม mySQL Database Server บน Linux

mySQL เป็น Database Server ที่เป็นที่นิยมบน Linux เนื่องจากมีขนาดเล็ก แต่สามารถรองรับงานทั้งขนาดเล็ก และขนาดกลางได้ดี การติดตั้งก็สามารถทำได้ง่าย และที่สำคัญ สามารถพัฒนาระบบติดต่อผู้ใช้ผ่านทาง WWW ได้โดยง่าย

ชุดโปรแกรม mySQL สามารถหาได้จาก homepage ของ บริษัทHughes

การติดตั้งโปรแกรม mySQLlogin เป็น 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

หมายเหตุ ถ้าเป็น mySQL 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 จะทำการติดตั้งชุดโปรแกรม mySQL ไว้ที่ directory /usr/local/Hughes ซึ่งในขณะนี้ จะทำการลบ Directory /usr/local/msql-2.0.1.4 ออกไปเลยก็ได้ หรือจะเก็บไว้ก็ได้

การปรับแต่งโปรแกรม mySQL

ทำการ 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 โปรแกรม mySQL เพื่อทำการทดสอบดังนี้

# cd bin

# ./msql2d

Mini 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.

ถ้าขึ้นข้อความตามด้านบน แสดงว่าการทำงานเรียบร้อยดี ให้ทำการหยุดการทำงานโดยกดปุ่ม 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.local

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 โดยจะสามารถใช้ในการสร้าง/ลบ/ทำสำเนา/เปลี่ยนชื่อ หรือว่าใช้ในการตรวจสอบสถานะการทำงานต่าง ๆ โดยมีการทำงานที่สำคัญดังนี้

* การสร้าง 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

นอกจากนั้นยังมีคำสั่งอื่น ๆ อีกเช่น reload ใช้เมื่อต้องการ reload system ใหม่ shutdown ใช้เมื่อต้องการหยุดการทำงาน เป็นต้น

การใช้คำสั่ง 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

email character 40

phone character 40 ก็สั่งดังนี้

mSQL > CREATE TABLE phone (

-> idx int not null,

-> name char(40) not null,

-> email char(40) not null,

-> phone char(40))\g

Query OK. 1 row(s) modified or retrieved.

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!

$

ไม่มีความคิดเห็น:

แสดงความคิดเห็น