[發案] MYSQL 5.5.54轉移至8.0.20問題排除

看板CodeJob (BBS架站)作者 (夢見)時間3年前 (2020/08/21 23:31), 3年前編輯推噓2(2011)
留言13則, 5人參與, 3年前最新討論串1/1
 發案人:邱先生 聯絡方式1:站內信/LINE/電話 聯絡方式2: 所在地區 :台南 有效時間:到問題解決為止 專案說明:目前將一套用php所寫的資料收集系統轉移至新主機上遇到一些問題, 原本的架構是mysql5.5.54 新主機是mysql 8.0.20 轉移過去之後發 現一些問題,在匯入資料時如果使用utf8格式則欄位會有偏移的狀況 如果不使用utf8編碼的方式匯入則正常,這個問題在mysql5的時候不 會發生,但是因為對資料庫很不熟,所以想上來徵求幫手解決問題。   預算:請報價 接案者要求:可以以時薪付費,或者了解一下問題之後用一筆費用來報價,主要 希望能解決問題,請來信討論。謝謝   附註: -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 218.161.109.137 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/CodeJob/M.1598023912.A.E09.html

08/21 23:55, 3年前 , 1F
原來編碼是 big5?
08/21 23:55, 1F

08/26 13:42, 3年前 , 2F
先匯入再轉成UTF-8不行嗎?
08/26 13:42, 2F
感謝版上的各位來信,這幾天的測試後發現問題不是在mysql上 狀況說明如下 因為這兩天反覆確認問題發生的原因,目前確定造成偏移的原因不是MYSQL而是PHP7之後 的版本造成的,原本的使用的PHP版本是5.6.31 MYSQL是5.5.54在匯入資料時因為我們都 是使用中文作為某些欄位的紀錄,將檔案存成CSV的UTF8模式匯入資料都沒有問題,正常 的情況如下圖顯示,文字與欄位都正常。 https://imgur.com/6gilAmH
轉移到新的伺服器後發現了相同的匯入資料會發生欄位偏移的問題, 匯入後會變成下圖這樣的情況, https://imgur.com/qIUQ1dN
在pharmacy_name會塞入兩個數值,原本後面的數值會往前偏移,但如果把CSV檔案存成 ANSI模式則匯入資料就正常,但是中文顯示的部分會變成亂碼,就像下圖一樣 https://imgur.com/61xdPPc
新的伺服器PHP是7.4.9 MYSQL是8.0.21,為了排除問題我做了一些測試,後來發現將PHP 降回5.6.31的時候就不會出現這樣的問題,所以是PHP7造成匯入資料會偏移的問題。 希望有類似經驗能處理相關問題的鄉民朋友們來信討論並告知費用,謝謝 ※ 編輯: yumemi2001 (140.116.93.140 臺灣), 08/27/2020 13:31:07

09/16 22:12, 3年前 , 3F
用工具匯出成.sql檔再匯入試試,請在測試環境執行,這個php
09/16 22:12, 3F

09/16 22:13, 3年前 , 4F
跟php比較沒關係,純粹是匯入時的問題,也可考慮換工具匯入
09/16 22:13, 4F

09/22 01:16, 3年前 , 5F
問題解決了嗎? 還有再找人嗎? 我可以跟你保證不是php7的問
09/22 01:16, 5F

09/22 01:18, 3年前 , 6F
題, php5.x->7.4, mysql5.x->8.0 我遇到的問題都解決過
09/22 01:18, 6F

09/22 01:19, 3年前 , 7F
含php第三方套件升級後遇到的問題, mysql安全驗證的問題等
09/22 01:19, 7F

09/24 02:41, 3年前 , 8F
沒空 不過可以跟你說個經驗 就是你們做編碼轉換前跟
09/24 02:41, 8F

09/24 02:41, 3年前 , 9F
轉換後 或任何方式匯入到新系統上 裡面資料表的全欄
09/24 02:41, 9F

09/24 02:42, 3年前 , 10F
位資料仍要寫個程式校對一下 (若需要講究資料完整
09/24 02:42, 10F

09/24 02:42, 3年前 , 11F
跟正確一定要做)
09/24 02:42, 11F

09/24 02:43, 3年前 , 12F
另外要留意兩個 database的設定值、table 引擎、欄
09/24 02:43, 12F

09/24 02:43, 3年前 , 13F
位設定有沒有跑掉或是到新系統上有沒有其他的狀況
09/24 02:43, 13F
文章代碼(AID): #1VF-Zeu9 (CodeJob)
文章代碼(AID): #1VF-Zeu9 (CodeJob)