mysql บน freebsd ทำให้ไฟล์บันทึกแบบไบนารี่ 1GB ทุก ๆ 20 นาทีเติมพื้นที่ว่างในดิสก์ได้อย่างรวดเร็ว


2

ฉันมีปัญหากับ MySQL ใน FreeBSD

มันทำให้ไฟล์ไบนารีจำนวนมาก 1GB ทุก ๆ 20 นาทีและมันก็เติมพื้นที่ว่างในดิสก์อย่างรวดเร็ว

-rw-rw----  1 mysql mysql 1073741982 2013-09-14 18:26 mysql-bin.000174
-rw-rw----  1 mysql mysql 1073741890 2013-09-14 18:42 mysql-bin.000175
-rw-rw----  1 mysql mysql 1073741988 2013-09-14 18:59 mysql-bin.000176
-rw-rw----  1 mysql mysql 1073741964 2013-09-14 19:15 mysql-bin.000177
-rw-rw----  1 mysql mysql 1073741974 2013-09-14 19:29 mysql-bin.000178
-rw-rw----  1 mysql mysql 1073741923 2013-09-14 19:46 mysql-bin.000179
-rw-rw----  1 mysql mysql  577143852 2013-09-14 19:59 mysql-bin.000180

มันเกิดขึ้นโดยไม่มีกิจกรรมทางอินเทอร์เน็ตใด ๆ จากผู้ใช้ ฉันมีmax_binlog_file=526870912ใน my.cnf

ฉันพยายามทำ

freebsd# mysql -u root -p
mysql> flush logs;
mysql> flush master;

ไฟล์ mysql-bin ทั้งหมดจะถูกลบอันเป็นผลและเริ่มนับจาก mysql-bin.000001

ฉันเป็นshutdown -r nowFreeBSD ของฉันแล้ว (mysql_enable = "YES" ใน rc.conf) MySQL ทำงานได้ แต่เริ่มสร้างไฟล์ bin ขนาด 1GB ทุก ๆ 20 นาที

ภาคผนวก 1

Mysql ใช้งานได้กับ aimniff และ netams ฉันหยุด netams แล้ว และ mysql ก็หยุดผลิต "mysql-bin" ไฟล์ ดังนั้นปัญหาอยู่ระหว่าง mysql และ netams น่าจะเป็น แต่ฉันยังหาเหตุผลไม่ได้

มีคำสั่ง "mysqlbinlog mysql-bin.000179 | less" บางบรรทัดเมื่อฉันพยายามอ่าน mysql-bin ไฟล์ที่สร้างขึ้นก่อนไฟล์ปัจจุบัน

'fw-sher1 # mysqlbinlog mysql-bin.000179 | หัก
'/ ! 40019 SET @@ session.max_insert_delayed_threads = 0 /;
'/ ! 50003 SET @OLD_COMPLETION_TYPE = @@ COMPLETION_TYPE, COMPLETION_TYPE = 0 /; 'DELIMITER / ! /;
'# at 4
' # 130915 11:27:20 id เซิร์ฟเวอร์ 1 end_log_pos 98 เริ่ม: binlog v 4, เซิร์ฟเวอร์ v 5.0.81-log ถูกสร้างขึ้น 130915 11:27:20
'คำเตือน: ละเว้น Append_block เนื่องจากไม่มีเหตุการณ์ Create_file สำหรับ file_id : 1417
'คำเตือน: ละเว้น Append_block เนื่องจากไม่มีเหตุการณ์ Create_file สำหรับ file_id: 1417
' คำเตือน: ละเว้น Append_block เนื่องจากไม่มีเหตุการณ์ Create_file สำหรับ file_id: 1417
'คำเตือน: ละเว้น Append_block เนื่องจากไม่มีเหตุการณ์ Create_file สำหรับ file_id:
'# at 98
' # 130915 11:27:19 id เซิร์ฟเวอร์ 1 end_log_pos 8313
'#Append_block: file_id: 1417 block_len: 8192
' # ที่ 8313
'# 130915 11:27:19 id เซิร์ฟเวอร์ 1 end_log_pos 16528
' #Append_block: file_id: 1417 block_len: 8192
'# ที่ 16528
' # 130915 11:27:19 id เซิร์ฟเวอร์ 1 end_log_pos 24743
'#Append_block: file_id: 1417 block_len: 8192
' # ที่ 24743
'# 130915 11:27:19 เซิร์ฟเวอร์ id 1 end_log_pos 32958
' # Append_block: file_id: 1417 block_len: 8192
'# ที่ 32958
' # 130915 11:27:19 id เซิร์ฟเวอร์ 1 end_log_pos 41173
'#Append_block: file_id: 1417 block_len: 8192
' # ที่ 41173
'# 130915 11:27:19 เซิร์ฟเวอร์ id 1 end_log_pos 82248
'#Append_block: คำเตือน: ละเว้น Append_block เนื่องจากไม่มีเหตุการณ์ Create_file สำหรับ file_id: 1417
' คำเตือน: ละเว้น Append_block เนื่องจากไม่มีเหตุการณ์ Create_file สำหรับ file_id: 1417
'คำเตือน: ละเว้น Append_block เนื่องจากไม่มีเหตุการณ์ Create_file สำหรับ 14_14: 1417

และต่อไปเรื่อย ๆ มันไม่สมเหตุสมผลเลยสำหรับฉัน

netams.log พูดว่าอะไร

ไฟล์: netams.log Line 1006126 Col 0 180576689 bytes 84%
13.09.2013 23: 59: 52.8916 data-source: 1 [WARN]: มีข้อผิดพลาดต่อไปนี้จาก MySQL: ระดับ = ข้อผิดพลาด, รหัส = 126, ข้อความ = ไฟล์คีย์ไม่ถูกต้อง สำหรับตาราง './netams/monitor.MYI'; พยายามซ่อมแซม
13.09.2013 23: 59: 52.8916 แหล่งข้อมูล: 1 [คำเตือน]: มีข้อผิดพลาดต่อไปนี้จาก MySQL: ระดับ = ข้อผิดพลาด, รหัส = 126, ข้อความ = ไฟล์คีย์ที่ไม่ถูกต้องสำหรับตาราง './netams/monitor.MYI'; พยายามซ่อมแซม
13.09.2013 23: 59: 52.8919 data-source: 1 [WARN]: ไม่สามารถโหลดข้อมูลลงใน sql สำหรับจอภาพลอง "debug storage"
14.09.2013 00: 01: 20.0461 data-source: 1 [WARN]: SQL Load data: ไฟล์คีย์ไม่ถูกต้องสำหรับตาราง './netams/monitor.MYI'; พยายามซ่อมแซม
14.09.2013 00: 01: 20.0464 แหล่งข้อมูล: 1 [คำเตือน]: ได้รับคำเตือนต่อไปนี้จาก MySQL: ระดับ = คำเตือน, รหัส = 1262, ข้อความ = แถว 243 ถูกตัดทอน; มันมีข้อมูลมากกว่ามีคอลัมน์อินพุต
14.09.2013 00: 01: 20.0464 แหล่งข้อมูล: 1 [คำเตือน]: ได้รับคำเตือนต่อไปนี้จาก MySQL: ระดับ = คำเตือน, รหัส = 1262, ข้อความ = แถว 265 ถูกตัดทอน; มันมีข้อมูลมากกว่ามีคอลัมน์อินพุต


1
ซอฟต์แวร์ใดที่ทำงานกับ DB ได้? คุณรู้หรือไม่ว่าไฟล์บันทึกเหล่านั้นคืออะไร?
Chris S

2
คำถามที่ชัดเจน แต่คุณลองตรวจสอบสิ่งที่มีอยู่จริงในล็อกไฟล์เหล่านั้นแล้วหรือยังเพื่อค้นหาสิ่งที่สร้างขึ้นมา?
dawud

การตรวจสอบสิ่งที่อยู่ในบันทึกสามารถทำได้โดยใช้mysqlbinlog mysql-bin.000179 | less
the-wabbit

ดูเหมือนว่าฐานข้อมูลเสียหายในnetamsตารางหรือไม่ คุณได้ลองซ่อมแซมตารางเหล่านั้นหรือไม่
Stefan Lasiewski

พบว่าทั้งหมดเกี่ยวกับเน็ต ฉันหยุด Netams แล้ว และ mysql ก็หยุดผลิต "mysql-bin" ไฟล์ ดังนั้นปัญหาอยู่ระหว่าง mysql และ netams น่าจะเป็น netams.log พูดว่า: 13.09.2013 23: 59: 52.8919 data-source: 1 [WARN]: ข้อมูลโหลดล้มเหลวใน sql สำหรับจอภาพลอง "debug storage" 14.09.2013 00: 01: 20.0461 data-source: 1 [คำเตือน]: ข้อมูลการโหลด SQL: ไฟล์คีย์ไม่ถูกต้องสำหรับตาราง './netams/monitor.MYI'; พยายามซ่อมแซม ฉันจะแก้ไขได้อย่างไร
Mako

คำตอบ:


2
14.09.2013 00:01:20.0461 data-source:1 [WARN]: SQL Load data: Incorrect key file for table './netams/monitor.MYI'; try to repair it
14.09.2013 00:01:20.0464 data-source:1 [WARN]: Got the following WARNINGS from MySQL: level = Warning, code = 1262, message = Row 243 was truncated; it contained more data than there were input columns.
14.09.2013 00:01:20.0464 data-source:1 [WARN]: Got the following WARNINGS from MySQL: level = Warning, code = 1262, message = Row 265 was truncated; it contained more data than there were input columns.

ข้อผิดพลาดนี้บ่งชี้ว่าฐานข้อมูล netams นี้มีตารางที่เสียหายบางส่วน โปรดสังเกตส่วนที่ระบุว่า " ไฟล์คีย์ไม่ถูกต้องสำหรับตาราง './netams/monitor.MYI'; พยายามที่จะซ่อมแซม "

การซ่อมแซมตารางสามารถทำได้ด้วยคำสั่งสองสามคำ การซ่อมแซมตารางบางครั้งอาจทำให้ข้อมูลสูญหายได้ดังนั้นให้สำรองข้อมูลตารางก่อน การซ่อมแซมอาจใช้เวลาสักครู่ขึ้นอยู่กับขนาดของฐานข้อมูล - บางครั้งการซ่อมแซมอาจปรากฏขึ้นเพื่อรอประมาณ 10-20 นาที แต่จริงๆแล้วมันสแกนเงียบเพื่อหาแถวที่เสียหาย ทำสิ่งนี้ในหน้าต่างที่สองเพื่อให้คุณจับตามันไว้และอดทน

สำหรับเคล็ดลับในการซ่อมตารางตรวจสอบคู่มือ MySQL:

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