ฉันจะสร้าง binlog-format = ROW เป็นค่าเริ่มต้นในไฟล์ /etc/my.cnf ได้อย่างไร


9

ฉันสามารถเรียกใช้แบบสอบถามSET GLOBAL binlog_format = 'ROW'และใช้ได้กับเซสชันนั้น

ฉันจะทำให้การตั้งค่านี้ติดหลังจากหยุดและรีสตาร์ท MySQL ได้อย่างไร

หมายเหตุ: ฉันอยู่ในรุ่น 5.5.19 ของ MySQL (พร้อม Moodle) และฉันเพิ่งอัพเกรดจาก MyISAM เป็น InnoDB ดังนั้นจึงต้องมีการตั้งค่าใหม่นี้

ฉันได้ลองเพิ่มคำสั่งสองคำสั่งนี้ (แยกกัน) ลงใน my.cnf: binlog-format = ROWและbinlog_format = ROWและไม่ทำงาน ฉันหยุดและเริ่ม MySQL ใหม่ทุกครั้งที่ฉันเปลี่ยน my.cnf

ข้อผิดพลาดที่ฉันได้รับหากไม่มีการตั้งค่านี้เป็นข้อความแสดงข้อผิดพลาดสามานย์:

ข้อมูลการดีบัก: ไม่สามารถดำเนินการคำสั่ง: เป็นไปไม่ได้ที่จะเขียนลงในบันทึกไบนารีเนื่องจาก BINLOG_FORMAT = STATEMENT และอย่างน้อยหนึ่งตารางใช้เอ็นจิ้นการจัดเก็บที่ จำกัด เฉพาะการบันทึกตามแถว InnoDB ถูก จำกัด ไว้ที่การบันทึกแถวเมื่อระดับการแยกธุรกรรมถูกอ่านยอมรับหรืออ่านไม่ได้รับการยอมรับ

คำตอบ:


15

ฉันคิดว่าปัญหาของคุณอาจเกิดจากที่คุณเขียนคำสั่ง

ตรวจสอบให้แน่ใจว่าคุณวางตัวเลือกไว้ใต้[mysqld]ส่วนหัวใน /etc/my.cnf

[mysqld]
binlog_format = ROW

หากคุณวางไว้ใต้ส่วนหัวอื่น ๆ กระบวนการ mysqld จะไม่เห็น

ให้มันลอง !!!


สิ่งนี้ได้ผล! ใช่มันอยู่ภายใต้หัวข้ออื่น
คอนสแตนซ์

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