วันพฤหัสบดีที่ ๒๘ มิถุนายน พ.ศ. ๒๕๕๐

MySql5 on FreeBSD

ใกล้จะสำเร็จแล้ว กับการติดตั้ง WebServer ด้วย FreeBSD+Apache+php+MySql ในตอนนี้เราจะมาติดตั้ง ฐานข้อมูล MySql กัน
ฐานข้อมูล MySql ก็ถือได้ว่าเป็นคู่ขากับ PHP มาตั้งแต่ไหนแต่ไร เมื่อก่อน php4 ก็ยังได้รวมเอาฟังก์ชันติดต่อกับ MySql มารวมไว้ในตัว php เองด้วย แต่ใน php5 ก็ได้ถอดออกมาเป็น extension ซะแล้ว คงเพราะ php เริ่มสนับสนุน extension มากมายหลายอัน จึงอยากจะทำให้ตัวโครงสร้างเองเล็กที่สุดกระมัง (ผมคิดเองครับ) เพราะบางทีผมก็เห็นว่า ผู้พัฒนาบางคนก็ยังเขียน php คู่กับ MSSql เลย พูดเยอะแล้ว มาลุยกันเลยดีกว่า

FreeBSD เก็บ MySql5 ไว้ใน Port ที่ตำแหน่ง /usr/ports/database/mysql50-server ที่ผมเลือกใช้ MySql5.0 ไม่เพราะอะไรหรอกครับ เพราะ php-extension ได้ลงตัว Client เป็นเวอร์ชัน 5.0 แล้ว ก็เลยต้องเลยตามเลยครับ ขี้เกียจ แก้ไข เหอ ๆ วิธีการติดตั้งก็ง่าย ๆ ครับ

1. เข้าสู่ระบบด้วย root เสียก่อน
#su
password : กรอกรหัสผ่านลงไป
#cd /usr/ports/databases/mysql50-server
#make WITH_CHARSET=tis620 WITH_XCHARSET=all WITH_COLLATION=tis620_thai_ci WITH_OPENSSL=yes BUILD_OPTIMIZED=yes WITH_ARCHIVE=yes install clean
รอสักครู่ใหญ่ ๆ ครับ หลังจากติดตั้งเสร็จแล้วเราก็จะมาปรับแต่งกัน

2. เพิ่มบรรทัดดังต่อไปนี้ลงไปในไฟล์ /etc/rc.conf
mysql_enable="YES"
3. สั่งให้ MySql ทำงาน ใช้คำสั่ง
#/usr/local/etc/rc.d/mysql-server start
4. ในระบบ FreeBSD ฐานข้อมูลของ MySql จะอยู่ที่ /var/db/mysql ซึ่ง /var จะมีพื้นที่น้อย ถ้าอยากต้องการย้ายฐานข้อมูลจาก /var ไว้ที่อื่นก็ทำได้ั้ เช่นผมต้องการย้าย ฐานข้อมูลจา่ก /var/db/mysql ไปที่ /usr/local/db/mysql เพราะ /usr จะมีพื้นที่มากที่สุด ก็จะทำได้ดังนี้
#/usr/local/etc/rc.d/mysql-server stop (ปิดการทำงานของ MySql ก่อน)
#cd /usr/local
#mkdir db (สร้าง directory ชื่อ db)
#cd db
#cp -vR /var/db/mysql /usr/local/db (copy ฐานข้อมูล)
#chown -vR mysql:mysql mysql (เปลี่ยนสิทธิ์ ผู้ใช้และกลุ่มเป็น mysql)
#chmod -vR 660 mysql (เปลี่ยนสิทธิ์ ไฟล์ทั้งหมดให้เป็น 660)
#chmod -v 700 mysql mysql/mysql mysql/test (เป็นสิทธิ์เฉพาะ Directory ให้เป็น 700)
5. หลังจากนั้น ก็เพิ่มบรรทัดต่อไปนี้ลงใน /etc/rc.conf
mysql_dbdir="/usr/local/db/mysql"
6. หลังจากนั้นก็สั่งให้ MySql ทำงาน โดยใช้คำสั่งในข้อ 3. ครับ ถ้าไม่มีอะไรผิดพลาก ก็จะสามารถใช้งาน mysql ได้แล้ว
6. ลองติดต่อกับ ฐานข้อมูลโดยใช้คำสั่ง
#mysql --user=root
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.0.41 FreeBSD port: mysql-server-5.0.41

Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

mysql> exit
Bye
#

7. ปรับแต่งให้รองรับภาษาไทย ด้วยการกำหนดค่าใน my.cnf ให้เราลองเข้าไปที่ /usr/local/share/mysql/ แล้วมองหาไฟล์ที่มีสกุลเป็น .cnf ครับ ซึ่งจะเป็นไฟล์เก็บตัวอย่างการ config ของ MySql ในระบบที่อ้างอิงความจุแรมเป็นหลักครับ ในที่นี้ผมจำลองติดตั้งด้วย Virtual PC 2007 มีแรมแค่ 128 M เลยใช้ my-medium.cnf ครับ
#cp /usr/local/share/mysql/my-medium.cnf /etc/my.cnf
#chown root:sys /etc/my.cnf
#chmod 644 /etc/my.cnf
#rehash
หลังจากนั้น เราจะไปแก้ไขไฟล์ /etc/my.cnf โดยเพิ่มเนื้อหาในส่วนต่าง ๆ ดังนี้
[client]
default-character-set=tis620

[mysqld]
default-character-set = tis620
character-set-server = tis620
collation-server = tis620_thai_ci
init_connect = 'set collation_connection = tis620_thai_ci'
init_connect = 'set names tis620'
8. เสร็จแล้วกับการติดตั้ง MySql แต่ที่จริงยังเหลือการปรับแต่ my.cnf นะครับเพื่อเพิ่มประสิทธิ์ภาพ เอาเป็นว่า อนาคตแล้วกันจะมาเพิ่มเติมอีกที

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