mysql數據移植過程中遇到的常見問題解析

  mysql作爲輕量級數據庫,並廣泛用於中小型系統中,在過去的兩個月內我做了從oracle到mysql的數據移植,因爲是初次做兩個不同數據源的數據移植,出現了很多小問題(技術大牛可以忽略不看的)


 1,當執行mysql的數據庫的update,insert操作的時候經常會碰到以下錯誤信息:
“You are using safe update mode and you tried to update a table without a WHERE clause that uses a KEY column.”

原因:在safe mode情況下要會有限制的,要執行update,insert語句就要解除限制。

解決辦法:執行SET SQL_SAFE_UPDATES=0; 就能順利執行語句了。


2,當執行表的增刪改查的時候會出現表locked的情況,

解決辦法:     (1)查看那些表鎖到了  show OPEN TABLES where In_use > 0;                                        

                       (2)查看進程號  show processlist;

                       (3)刪除進程 kill processlist中Id;

   備註:如果連接的數據庫是遠程的或者是國外的,需要用到VPN連接的時候,如果出現這種錯誤信息“ Error Code: 1205. Lock wait timeout exceeded; try restarting transaction”,此情況下應該是網絡不穩定不能正常連接遠程數據庫所致。


3,當執行數據export&import的情況時,

  可以使用mysql workbench(mysql可視化工具)中的dump工具,操作流程如下:

Server --->Data Export ---->選定所要導出的DB進行export

前提:請確定在Edit---->Preferences--->Administration--->確定Path to mysqldump tool中有mysql自帶的mysqldump.exe,如果不存在請導入mysqldump.exe文件。

  如果只是單純導出數據庫數據,可以用mysql workbench中的功能


帶有保存標誌的是導出數據,數據文檔格式一般是CSV格式。

帶有向上箭頭的是導入數據,如果是不同數據庫表數據移植,可以把導出的CSV文件導入點擊圖標導入進來,注意導入的同時會多加入一條數據,這條數據是這張表的所有字段,需要手動刪除避免後續使用,當然可以在導入之前打開CSV文件進行相應刪除。




發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章