เกิด ERROR 1018 (HY000): Can't read dir of '.' (errno: 24) ในโปรแกรม

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

ขั้นตอนที่ 1 ดูผลการเข้าใช้งานตรวจสอบโปรแกรม MySql ทำไมขึ้นข้อความนี้ล่ะ

mysql> show databases;
ERROR 1018 (HY000): Can't read dir of '.' (errno: 24)

ในขั้นตอนนี้เราลองตรวจสอบค่าตัวแปร 'open_files_limit' ดูสิว่าเป็นยังไง

mysql> show variables like 'open_files_limit';
+------------------+-------+
| Variable_name    | Value |
+------------------+-------+
| open_files_limit | 1024  |
+------------------+-------+
1 row in set (0.01 sec)


ขั้นตอนที่ 2 ต้องค้นหาโดยการปรึกษาอาจารย์ google ได้คำตอบว่ามีการเปิดไฟล์เกินค่าที่กำหนด ให้ทดสอบโดยการใช้คำสั่งต่อไปนี้

#lsof -u mysql | wc -l
1054


ขั้นตอนที่ 3 ปัญหานี้สามารถแก้ไขได้โดยการเพิ่มคอนฟิกในไฟล์ my.cnf เปลี่ยนค่าจากเดิม "1024" ไปเป็น "2048"

open-files-limit = 2048

จากนั้นให้ทำการรีสตาร์ทเซอร์วิส MySql ใหม่เป็นอันสิ้นสุด

เหตุผลสำคัญในวันนี้ก็คือค่าดีฟอลต์ของการเปิดไฟล์ใหม่มีน้อยเกินไปนั่นเอง บริการรถเช่าผู้บริหาร มาตรฐานความปลอดภัยสูงสุด ต้อง เช่า H1 ที่แวน-วีไอทีเท่านั้น
Previous
Next Post »