เปิดใช้งานการบันทึกการสืบค้นแบบช้าของ MySQL
MySQL เป็นหนึ่งในระบบการจัดการฐานข้อมูลยอดนิยมที่ใช้สำหรับเว็บไซต์ที่ขับเคลื่อนด้วยฐานข้อมูล (เช่น WordPress) เป็นสิ่งสำคัญที่คุณจะสามารถตรวจสอบปัญหาเกี่ยวกับ MySQL บน VPS Hosting ของคุณได้
ขั้นตอน
- ล็อกอินเข้าสู่เซิร์ฟเวอร์ของคุณผ่าน SSH ในฐานะรูท
- สำรองข้อมูล /etc/my.cnf เป็น /etc/my.cnf.bak.$ (วันที่ +% F_% R)
การดำเนินการนี้จะบันทึกการสำรองข้อมูลของไฟล์พร้อมวันที่และเวลา - แก้ไขไฟล์ /etc/my.cnf
- แทรกบรรทัดต่อไปนี้ในส่วน [mysqld]:
mysql เวอร์ชั่น < กว่า 5.5# ชุดตัวแปรบันทึกการสืบค้นช้า = long_query_time = 4 log-slow-queries = / var / log / slow-queries.log
MySQL เวอร์ชั่น 5.5 และสูงกว่า# บันทึกการสืบค้นแบบช้า slow_query_log = 1 long_query_time = 4 slow_query_log_file = / var / log / slow-queries.log
MariaDB
# บันทึกการสืบค้นแบบช้า slow_query_log long_query_time = 4 slow_query_log_file = / var / log / slow-queries.log
- บันทึกไฟล์และออกจากโปรแกรมแก้ไข
- สร้างไฟล์บันทึกและกำหนดสิทธิ์ที่เหมาะสม
แตะ /var/log/slow-queries.log && chown mysql: mysql /var/log/slow-queries.log
- เริ่มบริการฐานข้อมูลใหม่ด้วยคำสั่งที่เหมาะสมกับสภาพแวดล้อมของคุณ
CentOS 6 cPanel MySQL CentOS 6service mysql restart service mysqld restart service mariadb restart
CentOS 7systemctl mysqld restart systemctl mariadb restart
- ตรวจสอบบันทึกการสืบค้นที่ช้าเพื่อให้แน่ใจว่ากำลังทำงานอยู่
cat /var/log/slow-queries.log
คุณควรเห็นบางอย่างที่คล้ายกับรายการต่อไปนี้หากเปิดใช้งานอย่างถูกต้อง ปล่อยให้ MySQL ทำงานสองสามชั่วโมงเพื่อเก็บข้อมูลจำนวนมาก/ usr / libexec / mysqld, เวอร์ชัน: 5.0.45-log (การกระจายแหล่งที่มา) เริ่มต้นด้วย: พอร์ต Tcp: 0 ซ็อกเก็ต Unix: /var/lib/mysql/mysql.sock อาร์กิวเมนต์คำสั่งรหัสเวลา
vi /etc/my.cnf