How to update the max_connections in MySQL

Posted In Database - By Tum. On Tuesday, July 20th, 2010 With 0 Comments

mysql-logo
ปัญหาการเกิด error “too many connections” ในขณะที่ query database อยู่ เกิดจากจำนวน connections ที่เข้ามาติดต่อ database มีจำนวนมากกว่าที่ max_connections ได้กำหนดไว้ ซึ่งโดยปกติแล้ว MySQL จะยอมให้มีจำนวน connection ได้เท่ากับ max_connections+1 โดยที่ max_connections คือ จำนวน connection ที่มากที่สุดที่อนุญาต และ +1 คือ connection ของ super user

ค่า default ของ max_connections สำหรับ version ที่ต่ำกว่า 5.1.15 จะเท่ากับ 100 connections ถ้าสูงกว่ามีค่าเท่ากับ 151 connections และค่าสูงสุดที่สามารถกำหนดได้ สำหรับ version 5.1.15 – 5.1.16 คือ 16384 แต่ถ้า version 5.1.17 เป็นต้นไปสามารถกำหนดได้ถึง 100000

คำสั่งที่ใช้ในการตรวจสอบค่า max_connections (ต้องอยู่ใน MySQL command line tool)

วิธีการกำหนดค่า max_connections สามารถทำได้ 2 วิธีดังนี้

วิธีที่ 1. การใช้ command line สำหรับวิธีการนี้เป็นการกำหนดค่าแบบชั่วคราวโดยไม่ต้อง restart แต่ต้อง login ไปยัง MySQL command line tool ก่อน
ตัวอย่างกำหนดให้จำนวน connections มากที่สุดเท่ากับ 300

วิธีที่ 2. แก้ไขไฟล์ /etc/my.cnf
ให้ใส่ค่าจำนวน max_connections ที่ต้องการใน section [mysqld] ดังตัวอย่าง

จากนั้นทำการ Restart MySQL

การกำหนดค่า max_connections จะมีการใช้ RAM มากขึ้นด้วยดังนั้นจึงไม่ควรเพิ่มมากเกินความจำเป็น โดย max_connections เหมาะสมของ Linux หรือ Solaris อยู่ระหว่าง 500 ถึง 1000 แต่ถ้าคุณเหลือ RAM จำนวนมาก (> 1GB) ก็สามารถกำหนดมากกว่านี้ได้

คำค้นยอดนิยม: zabbix mysql too many connections

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

*