บันทึกธุรกรรมและบันทึกไบนารีแตกต่างกันอย่างไร


9

มาจากร้าน SQL Server ตอนนี้ฉันทำงานกับ MySQL และฉันอยากรู้

ล็อกไบนารีของ MySQL กับธุรกรรมล็อกของ MSSQL แตกต่างกันอย่างไร?

จากแนวโน้มจนถึงขณะนี้ดูเหมือนว่ามีเพียงหนึ่งไบนารีบันทึกต่อหนึ่งอินสแตนซ์ MySQL ซึ่งตรงข้ามกับบันทึกธุรกรรมต่อฐานข้อมูลเช่นเดียวกับใน MSSQL


มันคงจะดีมากหากได้เห็นการเปรียบเทียบระหว่างสองคนนี้
Ryan

มีคำตอบสำหรับคำถามนี้อีกอันหนึ่งคือdba.stackexchange.com/questions/72904/…
LawrenceLi

คำตอบ:


5

ตอบเฉพาะส่วน MySQL ของคำถาม

เร็กคอร์ดล็อกไบนารีเสร็จสิ้นคำสั่ง SQL คุณสามารถมีบันทึกไบนารีจำนวนมาก ภายใต้การตั้งค่าเริ่มต้นบันทึกไบนารีจะหมุนที่เครื่องหมาย 1G (ดูexpire_logs_daysและmax_binlog_size )

คุณสามารถดูบันทึกไบนารีโดยเรียกใช้อย่างใดอย่างหนึ่งต่อไปนี้:

SHOW BINARY LOGS;
SHOW MASTER LOGS;

มีบันทึกต้นแบบปัจจุบันเป็นรายการสุดท้ายเสมอในรายการ หากต้องการดูเพียงบันทึกไบนารีสุดท้ายซึ่งเป็นบันทึกปัจจุบันให้เรียกใช้สิ่งนี้:

SHOW MASTER STATUS;

เมื่อพูดถึงเครื่องมือจัดเก็บข้อมูลและธุรกรรมของ InnoDB

  • มีไฟล์ข้อมูลเมตา (ibdata1 ซึ่งเก็บไว้ตามค่าเริ่มต้นหน้าข้อมูลหน้าดัชนีข้อมูลเมตาของตารางและข้อมูลMVCC ) หรือที่เรียกว่าไฟล์ตารางพื้นที่ InnoDB
  • คุณสามารถมีไฟล์ ibdata ได้มากกว่าหนึ่งไฟล์ (ดูinnodb_data_file_path )
  • มีบันทึกการทำซ้ำ (ib_logfile0 และ ib_logfile1)
  • คุณสามารถมีบันทึกการทำซ้ำได้มากกว่าสองรายการ (ดูinnodb_log_files_in_group )
  • คุณสามารถกระจายข้อมูลและดัชนีข้ามไฟล์ ibdata หลายไฟล์หากinnodb_file_per_tableถูกปิดใช้งาน
  • คุณสามารถแยกหน้าข้อมูลและหน้าดัชนีจาก ibdata เป็นไฟล์ tablespace แยกกัน (ดูinnodb_file_per_tableและStackOverflow Post เกี่ยวกับวิธีตั้งค่านี้ )

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