酷!學園

技術討論區 => database 討論版 => 主題作者是: mega 於 2005-09-06 14:31

主題: [求助] MySQL Replication 的 bin log 出現 syntax error
作者: mega2005-09-06 14:31
[環境說明]
OS:
master => FreeBSD 4.9-STABLE
slave => FedoraCore 3

MySQL 版本:
master => 3.23.58
slave => (同上)
-------------------------------------
[問題陳述]
我參考了study-area myz 的教學文章 http://phorum.study-area.org/~netman/tips/mysql_replication.htm
成功的做出了單向的 replication

不過有了一點小 bug,導致 replicate 停止,檢查一下 /var/log/mysql.log,發現錯誤資訊如下
代碼: [選擇]

Slave thread exiting, replication stopped in log 'localhost-bin.002' at position 823858

You have an error in your SQL syntax near '089798564',
birthday = '1988-07-14',
tel = '',
mail = 'xxxxx' at line 2

Slave:  error running query 'UPDATE classmates SET
name = '馮x珮',
mobile = '089798564',
birthday = '1988-07-14',
tel = '',
mail = 'xxxxx@yahoo.com.tw',
school = '屏東女中',
class = '0',
levels = '3',
claname = '3',
order_no = '2107050216001',
best_time = '',
note= '',
zipno = '901',
zip = '三地門',
addr = '901屏東縣三地門xxxxxxx',
cityNo = '24'
WHERE no = 'LD200502160004''

基於保密原則,有些字給他打了馬賽克... 囧>
根據 log 給的錯誤訊息,我個人猜測是中文的"許功蓋"問題,因為 log 檔說 syntax error 發生在這段SQL附近
代碼: [選擇]
'089798564', birthday = '1988-07-14',
而這段 SQL 之前有一段 SQL 語法
代碼: [選擇]
name = '馮x珮',
裡面的中文字"珮",ASCII code 結尾正好是"5C",5C代表的就是 "\" 跳脫字元
會不會是因為這個問題造成 MySQL Replication 當掉的呢?