การแก้ปัญหา Database ของ Joomla

เมื่อวันที่ 5 กรกฎาคม 2556 ได้รับทราบจากนักเรียนว่า เว็บไซต์ของโรงเรียนไม่สามารถแสดงผลได้ โดยแจ้งข้อความทางหน้าเว็บด้วยข้อความ ดังภาพ

joomla1.5

     สิ่งแรกทุกคิด เว็บเราโดนสะแล้วหรือนี่ จะทำไงดี ยังไม่ทันได้สำรองข้อมูล หรือว่าจะต้องลงมือทำใหม่ตั้งแต่ต้น ไม่สิเรามีการ Backup Database ไว้ แต่ก็เมื่อปลายปีที่ผ่านมา (มันเป็นข้อมูลที่ห่างไกลเกินไป ไม่เหมาะอีก) กลุ้มแล้วสิเรา ไม่เคยเจอปัญหาอย่างนี้ เพราะว่าเราได้ทำการป้องกันไว้บ้างแล้ว ก็ไม่วายนะ ทำอย่างไรดีหว่า

ในที่สุดก็นึกได้ว่า เรามีผู้รู้ผู้เชี่ยวชาญด้าน joomla คือ ท่านอาจารย์พีระ แย้มประดิษฐ์ เวบมาสเตอร์ของ สพฐ. ได้ให้การช่วยเหลือ แต่ด้วยเหตุที่สื่อสารลำบากนิดหน่อย ฝ่ายบริหารก็เร่ง เลยตัดสินใจเล่าเรื่องราวที่เกิดขึ้นให้น้องที่รักอีกคนชื่อ คุณสุรสิทธิ์ เกิดธีระพงศ์ (น้องโต) แห่งบริษัท Belta Link Co.td ได้รับทราบเรื่องทั้งหมด พอรู้เรื่องในขั้นตอนต่างๆ แล้ว ก็ช่วยกันวิเคราะห์ และเริ่มต้นทดลองแก้ปัญหา เป็นขั้นตอน

1. ใช้ windows ทำการสำรอง Database แต่ไม่สามารถเข้าถึงหน้าจัดการ Database ได้ (มันช้ามาก รอเป็นชั่วโมงกว่าจะเปลี่ยนแปลงข้อมูล) เราพิจารณาแล้ว สรุปว่าต้องไปที่เครื่อง server แล้วลองสั่ง restart สักครั้งก่อน ด้วยคำสั่ง shutdownload -r now รอจนกระทั่ง Server กลับมาทำงานใหม่อีกครั้ง จึงลองไปหน้าจัดการฐานข้อมูลใหม่ ปรากฎว่า สามารถไปหน้าจัดการ Database ได้ (ไชโย) แต่ก็ยังไม่สามารถเปิดเว็บได้อยู่ดี แล้วทำไงดีล่ะ

2. เราเลยย้อนกลับไปดูภาพ พิจารณาจากภาพแล้ว สรุปว่า ปัญหาที่เกิดขึ้น คงจะเป็นตอนเขียนข้อมูลน่าจะเกิดปัญหาอะไรสักอย่างนึง เดาเอานะ แล้วทำไงต่อ เราคิดว่าเราน่าจะทดลองทำการแก้ไข โดย โต ได้ให้ลองแก้ไขหรือซ่อมแซมฐานข้อมูลดูก่อน แต่ขั้นแรกให้ไปที่ Server เพื่อทำการ copy ฐานข้อมูลเป็นอีกชื่อนึงก่อน กันความผิดพลาดที่อาจจะเกิดขึ้น ด้วยคำสั่ง

#cd /var/lib/mysql               //เข้าไปที่เก็บฐานข้อมูลที่อยู่ใน var/lib/mysql
#cp -R [ชื่อฐานข้อมูลที่ต้องการ copy] [ตั้งชื่อฐานข้อมูลใหม่ที่คล้ายกัน]    //copy ฐานข้อมูลเดิม เพิ่มอีกแล้วตั้งชื่อใหม่
#chown -R mysql.mysql [ชื่อฐานข้อมูลใหม่ที่ตั้ง]               //เปลี่ยนสิทธิของฐานข้อมูลให้มีสิทธิเป็นของ mysql

3. จัดการแก้หรือซ่อมแซมฐานข้อมูล โดยไปที่หน้าจัดการฐานข้อมูลที่ Windows เลือกฐานข้อมูลที่ได้ copy เป็นชื่อใหม่ ให้ถูกต้อง จะปรากฎตารางข้อมูล ให้เลื่อนไปด้านล่างคลิก เลือกทั้งหมด แล้วคลิก dorp down list เลือก ซ่อมแซมตาราง รอสักครู่จะปรากฎหน้าต่างแจ้งความผิดปกติที่เกิดขึ้น ถ้ามีการแจ้ง ให้กลับไปที่ฐานข้อมูลเดิมแล้วทำแบบเดิมอีกครั้ง สิ่งที่ได้คือ การซ่อมแซมตารางสมบูรณ์ (น่าจะใช้ได้) จากนั้นให้ไปที่หน้า Server แล้วทำต่อ
#cd /var/www                     //ไปยังโฟลเดอร์เว็บไซต์ (Ubantu) เพื่อไปแก้ไขไฟล์ configuration.php ให้ใช้ฐานข้อมูลใหม่ ที่จะทำการซ่อมแซม
#nano configuration.php        //แก้บรรทัดที่เป็น db แก้เป็น ‘ชื่อฐานข้อมูลใหม่’; โดยพิมพ์ชื่อฐานข้อมูลใหม่ ที่ได้ซ่อมแซมไปแล้ว ให้ถูกต้อง เสร็จแล้วกดปุ่ม Ctrl+o แล้ว enter แล้วกด Ctrl+x เป็นอันเสร็จสิ้น

4. สุดท้าย ทดลองเปิดเข้าเว็บไซต์อีกครั้ง ผลที่ได้คือ กลับมาเหมือนเดิมแล้วครับ ต้องร้องไชโยดังๆ (คิดว่าต้องทำใหม่ทั้งหมดสะแล้ว)

ต้องขอขอบคุณทั้ง 2 ท่าน ที่ได้ให้การช่วยเหลือ ทั้งจากประสบการณ์ หรือการช่วยกันคิดวิเคราะห์ และสามารถแก้ปัญหาที่เกิดขึ้นได้ ดังนั้นเพื่อเอาไว้ทบทวน (กันลืม) จึงมาเขียนเอาไว้ อย่างน้อยเอาไว้แก้ปัญหาคล้ายๆ อย่างนี้ และเป็นความรู้ที่อาจเป็นประโยชน์กับคนอื่น ๆ ที่ประสบก็ได้ ถ้ามันดีมีประโยชน์ ก็ขอกุศลผลบุญนี้บังเกิดแก่ทั้ง 2 สองท่านด้วยครับ

เรื่องนี้ถูกเขียนใน joomla และติดป้ายกำกับ , , , , , , คั่นหน้า ลิงก์ถาวร

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s