การเปลี่ยน open-files-limit ใน mysql 5.5


9

ฉันมีปัญหากับ mysql 5.5 ที่ทำงานบน Ubuntu 12.04 ด้วยพารามิเตอร์ open-files-limit

ฉันเพิ่งสังเกตเห็นปัญหาบางอย่างเนื่องจากขีด จำกัด 1024 และจริง ๆ แล้วขีด จำกัด ของระบบหลักถูกกำหนดเป็น 1024 ดังนั้นฉันจึงแก้ไข /etc/security/limits.conf ด้วยสิ่งต่อไปนี้:

* soft nofile 32000
* hard nofile 32000
root soft nofile 32000
root hard nofile 32000

หลังจากนั้นฉันตรวจสอบค่า ulimit สำหรับรูทและผู้ใช้ mysql ทั้งคู่ส่งคืนค่าใหม่: 32000 ดังนั้นฉันคิดว่าการเปลี่ยนแปลงได้ทำไปแล้ว

ฉันเปลี่ยนค่าที่ไฟล์ my.cnf ด้วยการตั้งค่า open-files-limit เป็น 24000 เช่นนี้

open-files-limit    = 24000

ตอนนี้เป็นส่วนที่แปลกเมื่อฉันเริ่มบริการ mysql ใหม่และตรวจสอบตัวแปร open_files_limit มันกลับมาว่ามันยังคงตั้งเป็น 1024 ดังนั้นฉันมีปัญหาเดียวกันกับที่ก่อนหน้านี้ (ชัด) ฉันพยายามใช้ open-files-limit แทน open_files_limit ในไฟล์ config my.cnf ผลลัพธ์เดียวกัน แต่ถ้าฉันแทนที่คำสั่งบริการเพื่อเริ่มบริการและเริ่มใช้ mysqld เท่านั้น (ไม่มีพารามิเตอร์เพิ่มเติม) บริการเริ่มต้นและเมื่อฉันตรวจสอบพารามิเตอร์จะส่งกลับ 32000 ... ฉันไม่ทราบว่ามันรับค่าจากที่ใดเนื่องจากไม่ได้ตั้งค่าไว้ที่ my.cnf และไม่ได้รับผ่านทางบรรทัดคำสั่งอย่างน้อยไม่ใช่สำหรับตัวฉันเอง

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

คำตอบ:


9

ในที่สุดฉันก็พบปัญหาดูเหมือนว่าคนธรรมดาไม่ใช้พารามิเตอร์ที่กำหนดไว้ที่ /etc/security/limits.conf ดังนั้นเมื่อฉันเรียกใช้ mysql ผ่านทางคำสั่งบริการ ค่าเริ่มต้น 1024

วิธีแก้ไขคือการแก้ไขไฟล์ mysql.conf ที่กำหนดบริการ upstart โดยจะอยู่ที่ /etc/init/mysql.conf และเพิ่มบรรทัดต่อไปนี้ก่อนบล็อก pre-start:

# NB: Upstart scripts do not respect
# /etc/security/limits.conf, so the open-file limits
# settings need to be applied here.
limit nofile 32000 32000
limit nproc 32000 32000

ค่าแรกกำหนดขีด จำกัด นุ่มอีกขีด จำกัด ฮาร์ดเมื่อเพิ่มบรรทัดเหล่านั้นบริการทำงานตามที่คาดไว้โดยใช้ค่าที่กำหนดที่ไฟล์ my.conf

ข้อ จำกัด นี้ควรใช้กับทุกบริการพุ่งพรวดที่กำหนดไว้ที่ / etc / init ดังนั้นหากบริการใด ๆ มีปัญหาเดียวกันกับการเปิดไฟล์ จำกัด โซลูชั่นนี้ควรทำงานได้เช่นกัน


1
เยี่ยมมากที่นั่น!
pkhamre

นี่เป็นการหลอกลวง ... คนที่เจ็บปวด
ชาด Scira
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.