เกี่ยวกับกรณีนี้, disk partition, สำหรับมือใหม่ อาจจะนึกไม่ถึงว่า จำเป็นต้องมีด้วยรึ เพราะเห็นว่า ลงทีไรก็มีครบทุกส่วน มาให้ทุกที อันนี้ ขอยืนยันไว้ตรงนี้เลยครับว่า เท่าที่จะแนะนำต่อไปนี้ ต้องมีครับ ต้องมี
ที่ท่านเจอไปทุกทีนั้น เขาก็สร้างมาให้ ให้ครบไปทุกทีแหละครับ ขอยืนยันอีกทีละกัน ซึ่งทั้งหมดที่ว่า เท่าที่จำเป็นต้องมีนั้น ก็คือ
Filesystem partition file type Mounted point
/dev/ad0s1a a FS /
/dev/ad0s1b b swap
/dev/ad0s1d d FS /var
/dev/ad0s1e e FS /usr
/dev/ad0s1f f FS /home
กล่าวโดยรวมก็คือ ท่านต้องมี file system สำหรับ /var, /usr, /home และแน่นอนที่สุดว่า root file system กับ swap area ต้องมีในกรณีที่เป็น hard disk ก้อนแรก
ตัวอย่างที่ยกมานี้ เป็น hard disk ก้อนแรกก้อนเดียว แต่ถ้าท่านสามารถมี hard disk ได้หลายก้อน ท่านอาจจะจัดที่ให้กับวา, /var, หรือโอม, /home, เป็นพิเศษ ก็ได้ ไม่แปลก
สำหรับขนาดนั้น ก็ขึ้นอยู่กับงาน
เรื่องเคยมีมาแล้ว ผู้รู้จักท่านหนึ่ง เขาลง MySQL โดยนำ tarred ball มาระเบิดเอง แล้วมีปัญหา ผมเข้าไปแนะนำให้ลงจาก ports เพราะง่ายกว่า ก็ลงได้ ผ่านแบบไม่มีปัญหา แต่กลับไม่สามารถ start mysqlserver ได้ สาเหตุก็คือ
- ผู้ที่เป็นเจ้าของโปรแกรม mysql ไม่ใช่ mysql และไม่ได้อยู่ในกรุ้ปของ mysql
- เนื้อที่สำหรับวา, /var, มีไม่พอ เพราะไม่ได้เตรียมไว้ให้สำหรับวา
ที่ผมมั่นใจว่าท่านนั้นไม่ได้เตรียมที่ไว้ สำหรับวา ก็เพราะ ท่านนั้นรายงานว่า สั่งวิ่งทีไร มันเจอ ไฟซีสเต็มฟูล ไปซะทุกที ก็จะไม่ให้มัน เต็ม ได้อย่างไรกันเล่า ในเมื่อ ไม่ได้จัดที่ไว้ให้วา วาก็ไปอิงแอบกับ รู้ท , /, เท่านั้นเอง ซึ่งก็รู้ๆกันอยู่ว่า รู้ท ของ FreeBSD นั้น เล็กนิดเดียว แต่ mysql นั้นเป็นฐานข้อมูลซึ่งต้องการเนื้อที่ สำหรับแค่ วิ่ง อย่างเดียวโดยไม่รวมตัวข้อมูลด้วยนี่ ก็ร่วมๆ ครึ่งเม้กกาไบท์แล่ว
สำหรับประการแรก ที่ว่า ผู้ที่สั่งวิ่งโปรแกรม mysql ไม่ใช่ mysql และไม่ได้อยู่ในกรุ้บ mysql นั้น
ประเด็นนี้ แก้ได้ง่ายด้วย chown(1) ซึ่งเป็นประโยชน์โดยตรงจากข้อเขียนที่แล้ว ในเรื่องของ file permission นั่นแหละ
ก็หวังว่าประสบการณ์จริงเหล่านี้ คงให้ข้อคิด ที่เป็นประโยชน์ สำหรับเพื่อนรัก นักอ่านบ้าง ไม่มากก็น้อย