今天試用mysqlbinlog居然報了這個錯,沒法繼續執行,並且mysql也不認爲是一個bug,暈!php
緣由:mysql
[client]下的選項會被全部客戶端程序讀取(但不包括mysqld),可是mysqlbinlog卻不能識別default-character-set,而當客戶端不能識別時就會報錯並退出,不在繼續執行。能夠使用loose-variable_name=xxx來解決。web
三種解決方法:sql
1. 修改my.cnf,在[client]下注釋或刪除default-character-set=gbk;spa
2. 在命令行中加入--no-defaults開關,使用mysqlbinlog --no-defaults;命令行
3. 將default-character-set=gbk改成(不需重啓):orm
[client]ci
loose-default-character-set=gbkget
這樣,全部不能識別該變量的客戶端程序(包括mysqlbinlog)都會忽略它,4.0.2以上版本有效;可是執行mysqlbinlog時仍是會有如下警告:it
Warning: mysqlbinlog: unknown variable 'loose-default-character-set=gbk'