max_allowed_packet คืออะไร ฐานข้อมูล MySQL , mariadb

SQL Knowledge ทั้ง sql มาตรฐาน หลักการออกแบบฐานข้อมูล ความสัมพันธ์ของ ตาราง Mysql , PGSQL, Oracle, MSSQL

Moderators: mindphp, ผู้ดูแลกระดาน

User avatar
mindphp
ผู้ดูแลระบบ MindPHP
ผู้ดูแลระบบ MindPHP
Posts: 22520
Joined: 22/09/2008 6:18 pm
Contact:

max_allowed_packet คืออะไร ฐานข้อมูล MySQL , mariadb

Post by mindphp » 05/11/2019 5:46 pm

max_allowed_packet คืออะไร ฐานข้อมูล MySQL, mariadb
max_allowed_packet คือค่าที่ฐานข้อมูลยอมรับในการรับส่ง packet ระหว่างเครื่อง client กับ Server หรือ การรันคำสั่งใน ฐาข้อมูลแต่ละครั้ง ปกติ จะส่วนที่ร้องขอเข้ามาเพื่อรันคำสั่ง เช่น เราเขียน SQL ยาว แล้ว มาสั่ง Query ทีเดียว ถ้าค่านี้ กำหนดไว้น้อย เกินไป ก่อนอาจมี Error ส่งคำสั่งเข้ามาเกินที่ Server จะทำงานได้ ก็จะเจอ Error ข้อความ เกี่ยวกับ memory กลับไปแจ้ง
โดยปกติ MySQLจะมีค่ามาตรฐาน หรือค่า default ของมัน ไว้ที่ 2M
ส่วนของ mariadb ค่า default ก็จะเปลี่ยนไปตามเวอร์ชั่น
16777216 (16M) >= MariaDB 10.2.4
4194304 (4M) >= MariaDB 10.1.7
1048576 (1MB) <= MariaDB 10.1.6

ของจากการ config ตัวนี้แล้ว ยังมีค่า config ที่เกี่ยวข้องอีกตัว คือ net_buffer_length ไว้ติดตามตอนต่อไป

แล้วเราจะเปลี่ยนค่านี้ได้ที่ไหน คำตอบคือ my.cnf สำหรับ Linux แล้ว my.ini สำหรับ windows

กระทู้ที่พูดถึงเรื่องนี้ ในบอร์ดเรา เช่น
ปัญหา MySQL server has gone away (error 2006)
viewtopic.php?f=27&t=16149

Fatal error Allowed memory size of 134217728 bytes exhausted
viewtopic.php?f=6&t=9747

ความรู้เพิ่มเติม
ทำให้ Mysql บน Host สามารถ connect จากเครื่องอื่นได้ my.cnf
ติดตาม VDO: http://www.youtube.com/c/MindphpVideoman
ติดตาม FB: https://www.facebook.com/pages/MindphpC ... 9517401606
หมวดแชร์ความรู้: https://www.mindphp.com/forums/viewforum.php?f=29
รับอบรม และพัฒนาระบบ: https://www.mindphp.com/forums/viewtopic.php?f=6&t=2042

Return to “SQL Knowledge”

Users browsing this forum: No registered users and 12 guests