今天郵件告警slave同步失敗。
登錄slave查詢了下狀態(tài):
SHOW SLAVE status眷蜓;
結(jié)果:
Slave_IO_Running:yes
Slave_SQL_Runing:no
Last_Errno:1418
Last_Error:Error 'This function has none of DETERMINISTIC, NO SQL, or READS SQL DATA in its declaration and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)' on query. Default database: 'd_union_loan'. Query: 'CREATE DEFINER=`root`@`%` FUNCTION `currval`(seq_name VARCHAR(50)) RETURNS int(11)
BEGIN
? ? DECLARE value int(11);
? ? SET value = 0;
? ? SELECT current_value INTO value
? ? ? ? ? FROM t_enfo_sequence
? ? ? ? ? WHERE name = seq_name;
? ? RETURN value;
END'
查詢了下這個(gè)問題是因?yàn)槿绻_啟mysql的bin-log分瘾,創(chuàng)建函數(shù)時(shí)需要指定參數(shù),
當(dāng)初在主庫加set global log_bin_trust_function_creators=TRUE;參數(shù)忽略掉這個(gè)問題吁系,忘記在從庫加了芹敌。
解決方案:
STOP SLAVE;
set global log_bin_trust_function_creators=TRUE;
START SLAVE;
然后查看狀態(tài):
SHOW SLAVE status;
結(jié)果:
Slave_IO_Running:yes
Slave_SQL_Runing:yes
解決問題