Score:0

ฉันจะเปลี่ยน MySQL wait_timeout ในสภาพแวดล้อมการผลิตที่รันไทม์ได้อย่างไร

ธง gl

ฉันใช้ Windows, IIS, MySQL, PHP

ใน my.ini ภายใต้ [mysqld] ค่าสำหรับ wait_timeout ถูกตั้งค่าเป็น 60

wait_timeout = 60

แต่เมื่อฉันดำเนินการต่อไปนี้:

แสดงตัวแปรเช่น 'wait_timeout';

มันแสดงให้ฉันเห็นว่าค่าคือ 28800 ซึ่งฉันรู้ว่าเป็นค่าเริ่มต้น

ดังนั้นฉันจึงพยายามตั้งค่าโดยดำเนินการต่อไปนี้:

ตั้งค่า GLOBAL wait_timeout = 60;

แต่ดูเหมือนจะไม่ได้ผล MySql Workbench บอกฉันว่า "0 แถวได้รับผลกระทบ" และเมื่อฉันดำเนินการแสดงตัวแปรเช่น 'wait_timeout' มันยังคงบอกฉันว่าค่าคือ 28800

ฉันได้ตรวจสอบ interactive_timeout แล้วและเรื่องราวก็เหมือนกัน มูลค่าคือ 28800 และฉันไม่สามารถเปลี่ยนแปลงได้

ฉันพลาดอะไรไปที่นี่?

MohammadReza moeini avatar
us flag
โปรดตรวจสอบหัวข้อ: https://stackoverflow.com/questions/22425463/set-global-variables-not-working-mysql
Wilson Hauck avatar
jp flag
เมื่อคุณต้องการทราบค่าของ wait_timeout จะมีค่าที่แตกต่างกันสองค่า แสดงตัวแปรทั่วโลก เช่น 'wait_timeout'; และ แสดงตัวแปรเซสชันเช่น 'wait_timeout' แสดงตัวแปรเช่น 'wait_timeout' ถือว่าคุณต้องการตัวแปรเซสชัน wait_timeout ควบคุมการหมดเวลาของการไม่ใช้งานสำหรับการประมวลผลตามปกติ ส่วน interactive_timeout ควบคุมการเผื่อเวลาที่ไม่ได้ใช้งาน (วินาที) เมื่อใช้ MySQL Command Prompt สำหรับการประมวลผล เมื่อคุณต้องการ SET SESSION wait_timeout; คุณต้องปฏิบัติตามคำขอที่คุณต้องการเรียกใช้ทันทีเนื่องจากพรอมต์คำสั่ง MySQL ใหม่เป็นเซสชันอื่น
Wilson Hauck avatar
jp flag
วินซ์ ดีใจที่ได้พบคุณอีกครั้งที่ SF
Score:0
ธง gl

คำตอบคือ ตั้งค่าโดยไม่ต้องใช้คีย์เวิร์ด GLOBAL

SET wait_timeout = 60;
Score:0
ธง ua

ทั่วโลก การตั้งค่าจะถูกคัดลอกไปยังของคุณ การประชุม การตั้งค่า เมื่อคุณเชื่อมต่อ. ใช้รูปแบบใดรูปแบบหนึ่งเหล่านี้:

SET @@... = ...;
ตั้งค่าเซสชัน ... = ... ;

wait_timeout หมายถึงระยะเวลาก่อนที่คุณจะถูกตัดการเชื่อมต่อ นั่นคือสิ่งที่คุณต้องการ?

นอกจากนี้ยังมีความสับสนระหว่างการหมดเวลาแบบ "แบทช์" กับ "การโต้ตอบ" ดูดี.

gl flag
ฉันไม่สามารถใช้กับ "@@" ได้ แต่การใช้คำหลัก SESSION เป็นกุญแจสำคัญ! ขอขอบคุณ.
ua flag
@Vincent - ฉันทำผิดพลาด แก้ไขแล้ว.
gl flag
ขออภัย ฉันเปลี่ยนคำตอบที่ยอมรับ ฉันเพิ่งตรวจสอบสิ่งนี้และตระหนักว่าแม้ว่าคำตอบของคุณจะพาฉันไปถูกทาง แต่ก็ไม่ใช่ทางออกที่ดีที่สุด ดังนั้นฉันจึงคิดว่าสำหรับผู้เยี่ยมชมในอนาคต การเน้นวิธีแก้ปัญหาที่ถูกต้องด้วยเครื่องหมายถูกสีเขียวจะเป็นประโยชน์มากกว่า

โพสต์คำตอบ

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