Score:0

บันทึก MySQL เต็มไปด้วย "ข้อมูลสถานะ" ที่ไม่ต้องการในการรีบูตเซิร์ฟเวอร์เนื่องจาก SIGHUP

ธง dj

สิ่งนี้รบกวนจิตใจฉันมาระยะหนึ่งแล้ว ดังนั้นถึงเวลาที่จะถาม

มายเอสคิวแอล บันทึกข้อผิดพลาด เติมด้วย "ข้อมูลสถานะ" เมื่อเซิร์ฟเวอร์รีบูตเนื่องจาก ซิกอัพ. นี่คือลิงค์ที่อธิบายพฤติกรรม: MySQL Server ตอบสนองต่อสัญญาณ SIGHUP

ฉันเข้าใจว่าเกิดอะไรขึ้น แต่ไม่รู้ว่าจะแก้ไขอย่างไร

ฉันมีหนึ่งสคริปต์ที่ควบคุมการเริ่มต้น/หยุด mysqld: /etc/init.d/mysql

และ นี่คือไฟล์ mysql-helpers ที่มา อ้างอิงโดยสคริปต์ init.d

ฉันหาไม่เจอว่า SIGHUP มาจากไหน? หรืออาจจะมาจากระบบปฏิบัติการ? เดเบียน 10.

แก้ไข

ทำ บริการ mysql เริ่มต้นใหม่ หรือ หยุด ไม่เคยสร้างรายการบันทึกเพิ่มเติม ดังนั้นอาจมีบางอย่างที่เกี่ยวข้องกับกระบวนการปิดระบบระหว่างการรีบูตเซิร์ฟเวอร์ | หยุด ฉันไม่เข้าใจ SIGHUP มากพอที่จะตัดสินว่าฉันมาถูกทางหรือไม่

us flag
โปรดเพิ่มรายละเอียดเกี่ยวกับระบบปฏิบัติการของคุณ init.d-script ของคุณถูกเรียกใช้ระหว่างการปิดระบบอย่างเป็นระเบียบหรือไม่?
Jeff avatar
dj flag
ระบบปฏิบัติการคือ Debian 10 Buster พร้อมเคอร์เนลเริ่มต้น สคริปต์ init.d ถูกเรียกระหว่าง `shutdown -r now` หรือ `shutdown -h now` ฉันไม่แน่ใจว่าเป็นการปิดระบบที่ "เป็นระเบียบ" หรือไม่
Cameron Kerr avatar
id flag
นี่เป็น VM หรือเครื่องจริงหรือไม่ ฉันถามเพราะ (หลายปีก่อน) ฉันพบปัญหาที่ SIGHUP จำนวนมากเกิดจากหน่วยความจำล้มเหลว ดังนั้นการทดสอบหน่วยความจำอาจมีประโยชน์ .... แต่นี่ถ้ากำมือแน่น ก่อนอื่นฉันจะเริ่มต้นด้วยการดูว่ามีอะไรอีกบ้างที่กำลังทำงานอยู่บนกล่อง การตรวจสอบ / เมตริก / การจัดการการกำหนดค่าใด ๆ ?
Cameron Kerr avatar
id flag
SIGHUP ถูกส่งไปยัง MySQL เมื่อคุณทำสิ่งต่างๆ เช่น ล้างตารางหรือบันทึกการให้สิทธิ์... พฤติกรรมที่คุณเห็นเกิดจากเครื่องมือต่างๆ เช่น logrotate หรือไม่ มีอะไรแปลก ๆ เกิดขึ้นกับตาราง mysql.users หรือไม่? คุณสามารถกำหนดอะไรได้บ้างเมื่อกิจกรรมเกิดขึ้น
Jeff avatar
dj flag
@CameronKerr เครื่องนี้เป็น VM ไม่มีซอฟต์แวร์ตรวจสอบการทำงาน สิ่งเดียวที่ฉันคิดได้ก็คือการแทนที่ 'killall' ด้วย 'mysqladmin shutdown' ในสคริปต์ /etc/init.d/mysql ไม่แน่ใจว่า การรู้ว่า *เมื่อ* SIGHUP ถูกส่งไปยัง mysqld นั้นมีประโยชน์อย่างไร ในระหว่างนี้ ข้อเสนอแนะอื่นๆ ก็ยินดีเป็นอย่างยิ่ง
us flag
หากในระหว่างการปิดระบบของคุณไม่ได้เรียกใช้ init.d-script กระบวนการที่เหลือทั้งหมด (รวมถึง mysql) จะได้รับ SIGHUP ตามด้วย bei SIGKILL มันมีกลิ่นเหมือนสิ่งที่เกิดขึ้นที่นั่น
Jeff avatar
dj flag
@Nils ความคิดเห็นของคุณกลายเป็นคำตอบที่ถูกต้อง หากคุณต้องการโพสต์คำตอบ ฉันจะทำเครื่องหมายว่าถูกต้อง ทางออกสุดท้ายกลายเป็นการเปลี่ยนสคริปต์เริ่ม/หยุดจาก sysvinit เป็น systemd
Score:0
ธง us

หากในระหว่างการปิดระบบของคุณไม่ได้เรียกใช้ init.d-script กระบวนการที่เหลือทั้งหมด (รวมถึง mysql) จะได้รับ SIGHUP ตามด้วย bei SIGKILL ซึ่งมีกลิ่นเหมือนสิ่งที่เกิดขึ้นที่นั่น

Jeff avatar
dj flag
นั่นคือสิ่งที่เกิดขึ้น เปลี่ยนจาก init.d เป็น systemd และตอนนี้ทุกอย่างก็สีพีช

โพสต์คำตอบ

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