題記:有些問題隻是常識,隻是在某些情景下“心急”的管理者可能會忽略這些常識,當然了這也是很多人都會犯的錯誤。謹以此文記錄這件剛才發生的囧事。
常用的mysql表引擎有不少,但最常用的就是myisam和innodb,這兩者的差別有很多網站上都有很好的文章去介紹,再此僅列出url就不再贅述。
這篇文章不是說這個的,而是另一件事。假如你匆忙的安裝了新系統,沒有将老系統上的部分資料使用專門的導入/導出/備份工具備份下來,那可能後期會比較糾結。特别是開發人員的資料庫,慶幸的是你可以将原先的資料庫檔案從data目錄拷貝至新的資料庫的data目錄中,而且更幸運的是你可以停止資料庫服務來達到遷移的目的。但如果你忘記了自己部分資料庫的表使用的是什麼引擎,那可能會讓你很痛苦,因為你可能忘記了重新開機資料庫,或者你迫切要示範什麼功能沒有重新開機資料庫,那可能有意思了。因為一個資料庫是可以同時使用多種表引擎的,如下圖所示(已經清空表裡面的資料):

這時有意思的是myisam的表在直接複制到data目錄後可以直接使用,而innodb卻不可以,它可能會報出一個表不存在的錯誤提示,删除都是不可以的。直到你重新開機資料庫後才發現又可以用了。
是以使用myisam資料庫不僅可以降低資料庫系統的負載又可以實作如此nice的效果,這個在不借助任何工具時是比較讨人喜歡的。這個也算是myisam和innodb的一種差別吧。
上述問題隻是常識,隻是在某些情景下心急的管理者可能會忽略這些常識,當然了這也是很多人都會犯的錯誤。謹以此文記錄這件剛才發生的囧事。