MySQL:Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEM
1:錯(cuò)誤日志大量錯(cuò)誤
150602 14:40:02 [Warning] Unsafe statement written to the binary log using statement format since BINLOG_FORMAT = STATEMENT. INSERT... SELECT... ON DUPLICATE KEY UPDATE is unsafe because the order in which rows are retrieved by the SELECT determines which (if any) rows are updated. This order cannot be predicted and may differ on master and the slave. Statement:INSERT INTO tab_name
2:原因:
查了下原因,tab_name 這個(gè)表上有2個(gè)唯一鍵。則使用INSERT … ON DUPLICATE KEY UPDATE ,且當(dāng)前數(shù)據(jù)庫(kù)binlog_format是statement格式,這種sql語(yǔ)句就會(huì)報(bào)unsafe。
官方手冊(cè):
INSERT … ON DUPLICATE KEY UPDATE statements on tables with multiple primary or unique keys.When executed against a table that contains more than one primary or unique key, this statement is considered unsafe, being sensitive to the order in which the storage engine checks the keys, which is not deterministic, and on which the choice of rows updated by the MySQL Server depends.
解決方法:
把binlog_format設(shè)置為ROW或者STATEMENT或者修改SQL。
一般情況下就是mysql配置問題,大家可以參考這篇文章:http://www.dbjr.com.cn/article/84357.htm
- MySQL 將文件導(dǎo)入數(shù)據(jù)庫(kù)(load data Statement)
- MySQL?如何將查詢結(jié)果導(dǎo)出到文件(select?…?into?Statement)
- MySQL?Prepared?Statement?預(yù)處理的操作方法
- MySQL?binlog格式之Row和Statement語(yǔ)句詳解
- The MySQL server is running with the --read-only option so it cannot execute this statement
- 詳解JSP中的語(yǔ)句對(duì)象Statement操作MySQL的使用實(shí)例
- 解決mysql報(bào)錯(cuò)You must reset your password using ALTER USER statement before executing this statement問題
相關(guān)文章
兩大步驟教您開啟MySQL 數(shù)據(jù)庫(kù)遠(yuǎn)程登陸帳號(hào)的方法
在工作實(shí)踐和學(xué)習(xí)中,如何開啟 MySQL 數(shù)據(jù)庫(kù)的遠(yuǎn)程登陸帳號(hào)算是一個(gè)難點(diǎn)的問題,以下內(nèi)容便是在工作和實(shí)踐中總結(jié)出來的兩大步驟,能幫助DBA們順利的完成開啟 MySQL 數(shù)據(jù)庫(kù)的遠(yuǎn)程登陸帳號(hào)。2011-03-03Mysql連接無效(invalid connection)問題及解決
這篇文章主要介紹了Mysql連接無效(invalid connection)問題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-02-02使用mydumper多線程備份MySQL數(shù)據(jù)庫(kù)
MySQL在備份方面包含了自身的mysqldump工具,但其只支持單線程工作,這就使得它無法迅速的備份數(shù)據(jù)。而 mydumper作為一個(gè)實(shí)用工具,能夠良好支持多線程工作,這使得它在處理速度方面十倍于傳統(tǒng)的2013-11-11MySQL的從庫(kù)Seconds_Behind_Master延遲總結(jié)
這篇文章主要介紹了MySQL的從庫(kù)Seconds_Behind_Master延遲的相關(guān)資料,需要的朋友可以參考下2021-08-08