ฉันได้อ่านเกี่ยวกับ MySQL ในความคิดของฉันฉันเห็นสองประเภทบันทึกที่คล้ายกันมาก MySQL บันทึกวิธีและเวลาที่ข้อมูลถูกเปลี่ยนแปลงในบันทึก ข้อมูลที่ใช้สำหรับการกู้คืน MySQL ฉันสับสนกับฟังก์ชั่นการบันทึกสองประเภท
ฉันได้อ่านเกี่ยวกับ MySQL ในความคิดของฉันฉันเห็นสองประเภทบันทึกที่คล้ายกันมาก MySQL บันทึกวิธีและเวลาที่ข้อมูลถูกเปลี่ยนแปลงในบันทึก ข้อมูลที่ใช้สำหรับการกู้คืน MySQL ฉันสับสนกับฟังก์ชั่นการบันทึกสองประเภท
คำตอบ:
บันทึก REDO เป็นคำศัพท์ของ Oracle บันทึกการทำธุรกรรมเป็นคำศัพท์ InnoDB ตอนนี้ทุกคนเป็นวิศวกร Oracle, คนใช้ทั้งในการอ้างถึงสิ่งเดียวกันใน MySQL
ล็อกธุรกรรมคือโดย default- ก็สามารถ changed- แฟ้มที่สองตั้งอยู่ใน $ DATADIR เรียกว่าและib_logfile0
ib_logfile1
มันทำหน้าที่ฟังก์ชั่นเดียวกันกับบันทึก REDO ในการเขียนฐานข้อมูลอื่น ๆ ในวิธีที่ปลอดภัยและกู้คืนในกรณีที่เกิดความผิดพลาดถึงแม้ว่าจะมีรายละเอียดบางอย่างในการใช้งานที่แตกต่างจากการทำงานของ RDMS อื่น ๆ มันเป็นองค์ประกอบหลักสำหรับ InnoDB ที่จะเป็นเครื่องมือในการทำธุรกรรม
อย่าสับสนล็อกธุรกรรมกับบันทึกไบนารีใน MySQL โดยค่าเริ่มต้น binlog จะอยู่ที่ $ DATADIR และเป็น*hostname*-bin.index
หลาย*hostname*-bin.00001
ๆ อย่าง ฯลฯ โดยเฉพาะอย่างยิ่งมันสับสนสำหรับคนที่มาจากฐานข้อมูลอื่น ๆ เพราะมันถูกใช้สำหรับสิ่งอื่น ๆ ที่ฐานข้อมูลอื่นใช้บันทึก REDO สำหรับ: การจำลองแบบและจุดในเวลา การฟื้นตัว ข้อแตกต่างที่สำคัญคือบันทึกธุรกรรมคือ InnoDB เท่านั้นบันทึกไบนารี (ส่วนใหญ่) ธุรกรรมเป็นอิสระเนื่องจากเป็นเครื่องมือเก็บข้อมูลทั้งหมดธุรกรรมหรือไม่ MyISAM จะเขียน (ถ้าเปิดใช้งาน) ลงในบันทึกไบนารี InnoDB จะเขียนบันทึกการทำธุรกรรมและบันทึกไบนารี
ข้อมูลเพิ่มเติมเกี่ยวกับคู่มือ: ทำซ้ำล็อก , เข้าสู่ระบบไบนารี
ใน SQL Server ไฟล์ TLog จะเก็บข้อมูลการเลิกทำและทำซ้ำ แต่ใน MYSQL และ Oracle TLog / Redo Log จะเก็บเฉพาะข้อมูลที่ทำซ้ำ
การเข้าสู่ระบบแบบไบนารี่ใน MySQL เป็นวิธีการกู้คืนเวลา การเปิดใช้งานการบันทึกแบบไบนารีเทียบเท่ากับการมีแบบจำลองการกู้คืนเต็มรูปแบบใน SQL Server