Tag Archive Configuration

Byphunsanit

แก้ปัญหา MySql ไม่ทำงาน

การที่มี appserv หรือ xampp เพื่อให้การลงโปรแกรมตระกูล LAMP (Linux Apache MySQL PHP) ง่ายขึ้นมาก แต่บางครั้งลงไปแล้ว แล้วเข้า phpmyadmin ไม่ได้ โดยเจ้งว่ามี error #2003 - Can't connect to MySQL server on 'localhost' (10061) เมื่อเข้าไปดู mysql service ปรากฎว่าไม่ได้สตาร์ ขึ้นมาพร้อมวินโดวส์ เข้าไปที่ run พิมพ์ services.msc ไปที่ MySQL พยามสตาร์ขึ้นมาจะมีเออเร่อ Windows could not start the Mysql service on local Computer. Eror 1067: The process terminated unexpectedly.

สาเหตุหนึ่งก็คือ การคอนฟิกส์ให้เรียกใช้ MySQL ในโฟลเดอร์ที่ผู้ใช้ในขณะนั้นไม่มีสิทธิ หรือการคอนฟิกส์ผิดพลาดโดยไม่ได้ระบุตำแหน่งของ MySQL หรือตำแหน่งที่เก็บข้อมูลไว้อย่างถูกต้องครับ

ไปที่ MySQL service สังเกต Path to executable “D:xamppmysqlbinmysqld.exe” –defaults-file=”D:xamppmysqlbinmy.ini” MySQL ตำแหน่งแรกคือ ตำแหน่งโปรแกรม MySQL ดูให้แน่ใจว่ามีอยู่จริง และสมารถ access เข้าไปได้ ส่วนที่สองคือ ตำแหน่งคอนฟิกส์ เข้าไปหาบรรทัด basedir และ datadir

basedir = "xampp/mysql/"
datadir = "xampp/mysql/data/"

จากกรณีนี้จะเห็นว่าไม่ได้ระบุตำแหน่งที่ถูกต้อง แก้เป็น

basedir = "D:/xampp/mysql/"
datadir = "D:/xampp/mysql/data/"

สตาร์ทเซอร์วิสก็ทำงานแล้วครับ แต่ถ้ายังไม่ได้อีกดูว่าใน datadir ของเรามีโฟลเดอร์ mysql และมีไฟล์อยู่ข้างในรึเปล่า ถ้าไม่มี mysql จะไม่ทำงานให้ copy มาจากเครื่องทีใช้งานได้ สตาร์ทเซอร์วิสใหม่ (เสร็จแล้วต้องดูสิทธิต่างๆ ด้วยเพราะส่วนนี้จะเป็นฐานข้อมูลที่ระบุสิทธิต่างๆ ของฐานข้อมูลใน mysql)

ตัวช่วยบางครั้งก็ก่อให้เกิดปัญหาซะเอง ที่เห็นได้ชัดคือ เริ่มมีคนมีคนที่สามารถเขียน php ที่ไม่สามารถจะกำหนดค่าอะไรเกี่ยวกับเซอร์ฟเวอร์พวกนี้ได้มากขึ้น ทำไปทำมากคิดว่าระบบทำได้แค่นี้ ระบบโหลดอะไรได้ไม่มาก ความจริงทั้งสองตัวทำมาเพื่ออำนวยความสะดวกในการลงระบบ โดยสันนิฐานว่า คุณจะใช้เพื่อเขียนโปรแกรม ถ้าต้องการใช้งานจริง ต้องเข้าไปอ่านคู่มื้อและปรับแต่งอีกครั้งครับ ถ้าทำได้ถูกต้อง ระบบจะเสถียร และใช้ทรัพย์ยาการณ์น้อยกว่า การที่หลายๆ ที่พยามลง PHP บน IIS มากครับ