以下是MySQL的二進制日志數(shù)據(jù),其中
問題1:日志中/*!\C binary //!*/; 和 /*!\C utf8 //!*/;是什么作用?
使用場景:
解析二進制日志,存儲到數(shù)據(jù)庫中
再調取出來執(zhí)行到別一個數(shù)據(jù)庫
問題2:
存儲SQL的時候會出現(xiàn)亂碼,如
alter table lezhi_app
.tmp
change etid
etid
int(11) NOT NULL comment '編號'
其中“編號”就成亂碼了,SQl調取出來執(zhí)行的時候就會報錯,無法執(zhí)行?(數(shù)據(jù)庫默認使用了set names gbk,不使用set names的話也是亂碼)
解決方案:
解析 /*!\C utf8 //!*/ 中的utf8,加上set names utf8 后,可以正常存儲執(zhí)行
問題2:
很多SQL是在 /*!\C binary //!*/; 下面
執(zhí)行 set names binary 后,有部分中文SQL存儲出現(xiàn)亂碼(存儲出現(xiàn) ???)。
(我們數(shù)據(jù)編碼用的是GBK)
COMMIT/*!*/;# at 87931309#150108 20:08:13 server id 5 end_log_pos 87931465 Query thread_id=2649685 exec_time=0 error_code=0use `lezhi_app`/*!*/;SET TIMESTAMP=1420718893/*!*/;/*!\C utf8 *//*!*/;SET @@session.character_set_client=33,@@session.collation_connection=33,@@session.collation_server=8/*!*/;alter table `lezhi_app`.`tmp` change `etid` `etid` int(11) NOT NULL comment '編號'/*!*/;# at 87931465#150108 20:08:13 server id 5 end_log_pos 87931529 Query thread_id=2649874 exec_time=0 error_code=0SET TIMESTAMP=1420718893/*!*/;/*!\C binary *//*!*/;SET @@session.character_set_client=63,@@session.collation_connection=28,@@session.collation_server=8/*!*/;BEGIN/*!*/;# at 87931529
數(shù)據(jù)庫編碼是這樣的:
聲明:本網(wǎng)頁內容旨在傳播知識,若有侵權等問題請及時與本網(wǎng)聯(lián)系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com