Import

將 mysqlnd 數據庫導入 MySQL 伺服器

  • March 21, 2022

將 mysqlnd (5.0.12) 數據庫導入 MySQL 伺服器 (5.1.66) 會導致錯誤?目前我們正在執行此任務並遇到錯誤(如下所示):

錯誤 1146 (42S02): 表 ‘xx-xxx-xxx-xxx’ 不存在

錯誤 1273 (HY000):未知排序規則:‘utf8mb4_unicode_ci’

錯誤 1115 (42000):未知字元集:‘utf8mb4’

出現問題的原因可能是Mysql 5.5.3utf8mb4中添加了字元集。

您需要升級 MySQL 伺服器或將數據更改為在utf沒有 mb4 的情況下使用。在這裡你可以找到一些提示如何做到這一點

除了來自 MySQL 5.5 的關於支持 utf8mb4 的答案之外,

排序規則的問題您可以通過編輯(替換)所有 utf8mb4 到其他 utf 排序規則來解決。如果文件很大,您可以使用 sed 命令更改字元串而無需打開文件 -

sed -i -- 's/utf8mb4/utf/g' file.sql

對於 ERROR 1146 (42S02):表 ‘xx-xxx-xxx-xxx’ 不存在 - 並非所有 sql 轉儲都包括創建表指令,最好的選擇檢查腳本文本,如果文件很大,請再次使用 - 使用

cat file.sql | grep -E 'xx-xxx-xxx-xxx' | grep -E 'CREATE' 

檢查它是否包含在腳本中

引用自:https://dba.stackexchange.com/questions/131566