[Bug] Invalid of GRANT command will breaks replication

Posted In Database - By Tum. On Wednesday, November 6th, 2013 With 0 Comments

mysql-logo
MySQL 5.6 มี bug ที่ควรระวัง คือการรันคำสั่ง GRANT privileges บน PhpMyAdmin อาจทำให้เกิด slave หยุด replicate ข้อมูลได้ (bug report: http://bugs.mysql.com/bug.php?id=68892)

หลังจากได้ใช้งาน MySQL 5.6 (version 5.6.14-1) แบบ replication ก็พบปัญหาการใช้งานเมื่อทำการ GRANT สิทธิให้กับ user บน PhpMyAdmin ก็พบว่า slave หยุดการ replicate ข้อมูล และมี error log ดังนี้


หลังจากพบ error log ดังกล่าวจึงได้ไปตรวจสอบ binary log ที่ master ก็พบว่าเกิด LOST_EVENTS ขึ้นใน binary log ที่เครื่อง master จริงซึ่งปัญหาน่าจะเกิดที่การเขียน binary log บนเครื่อง master

จากข้อมูลที่ตรวจสอบก็ทำให้คิดว่าปัญหาน่าจะเกิดจาก bug ของ MySQL ดังนั้นจึงได้ไปตรวจสอบก็พบว่ามี bug #68892 Invalid use of GRANT command breaks replication ซึ่งอธิบายรายละเอียดดังนี้

Fixed in 5.6+. Documented fix in the 5.6.15 and 5.7.3 changelogs, as follows:

Issuing a GRANT statement with invalid parameters caused the
master to write LOST_EVENTS events into its binary logs, causing
replication to stop. Now such cases, if one or more grants or
revocations of privileges are successful, an incident is written
to the log; otherwise, only a warning is logged.

ดังนั้นหากต้องทำการ GRANT สิทธิให้กับ user ควรทำด้วยความระมัดระวังก็จะไม่พบปัญหานี้ครับ

Leave a comment

XHTML: You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

*