biotwang 发表于 2016-6-25 13:23:29

【dbdao.com MySQL OCP认证专题】- MySQL 5.6 - OCP 考题讲解 - 76

【dbdao.com MySQL OCP认证专题】- MySQL 5.6 - OCP 考题讲解

76.

A MySQL replication slave is set up as follows:
Use all InnoDB tables
Receives ROW-based binary logs
Has the read-only option

The replication slave has been found in an error state.
You check the MySQL error log file and find the following entries:
2013-08-27 13:55:44 9056 Slave SQL: Could not execute Write_rows event on table test.tl; Duplicate entry ‘3’ for key ’PRIMARY’ , Error_code: 1062; handler error HA_ERR_FOUND_DUPP_KEY; the event’s master log 56_master-bin.000003, end_log_pas 653, Error_code: 1062
2013-08-27 13:55:44 9056 Slave: Duplicate entry ‘3’ for key ‘PRIMARY’ Error_code: 1062
2013-08-27 13:55:44 9056 Error running query, slave SQL thread aborted. Fix the problem, and restart the slave SQL thread with “SLAVE START”, We stopped at log ‘56_masterbin.000003’ position 496

What are two possible causes for this error to occur?

A.
The slave was created with mysqldump –u root –p --skip-lock-tables --all-databases > /data/data.sql
B.
The slave user does have INSERT, UPDATE, or DELETE permission and cannot execute the write_rows function.
C.
For tables with UNIQUE keys, statement-based replication must be used to maintain integrity.
D.
The root user on the slave has executed FLUSH LOGS, causing the relay-log to doublewrite.
E.
The applications have the SUPER privilege, which allows them to update rows.

答案:A, E

分析:
使用排除法进行分析,重复记录问题和FLUSH LOGS没有关系,和replication是基于statement还是row也没有关系。
When the read_only system variable is enabled, the server permits no client updates except from users who have the SUPER privilege.
Even with read_only enabled, the server permits updates performed by slave threads, if the server is a replication slave.
A中的操作,可能之后在设置slave时,CHANGE MASTER TO对应的MASTER_LOG_POS位置设置错误,则可能造成再次同步插入已有的数据。

参考:
http://dev.mysql.com/doc/refman/5.6/en/server-system-variables.html#sysvar_read_only
http://dev.mysql.com/doc/refman/5.6/en/mysqldump.html#option_mysqldump_lock-tables
http://dev.mysql.com/doc/refman/5.6/en/privileges-provided.html#priv_super
http://dev.mysql.com/doc/refman/5.7/en/replication-setup-slaves.html#replication-howto-slavebaseconfig
页: [1]
查看完整版本: 【dbdao.com MySQL OCP认证专题】- MySQL 5.6 - OCP 考题讲解 - 76