Mysql8的預設字元集為utf8mb4,排序規則為utf8mb4_0900_ai_ci,當我們有需求要把Mysql8的資料匯入到Mysql5.7時,就會出現Mysql5.7不支援utf8mb4_0900_ai_ci的排序規則,那麼我們可以有以下2中方法來解決。
可以先把Mysql8的資料匯出為sql腳本,再透過編輯器全量取代字元集和排序規則。這種方式適合不確定要匯入哪個版本的Mysql,可以按需修改。
在我們開發階段可能用的是Mysql8的資料庫,但當真正上線時,提供的卻是Mysql的其他版本資料庫,為了避免字元集和排序規則不符的問題,我們可以把開發用的Mysql8資料庫的字元集和排序規則與生產環境的資料庫版本相容。
-- database_name = 你的库名 ALTER DATABASE `database_name` CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
-- database_name = 你的库名 SELECT concat( "ALTER TABLE `", TABLE_NAME, "` CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;" ) AS `target` FROM information_schema.TABLES WHERE table_schema = "databse_name"
執行上述SQL後會得到修改表格字元集和排序規則的SQL,我們複製出來執行一遍就好了。
開啟Navicat,選取資料庫,點選工具–資料傳輸
點選文件,選擇要匯出的版本
#開啟.sql文件
utf8mb4替换为utf8 utf8mb4_0900_ai_ci替换为utf8_general_ci utf8_croatian_ci替换为utf8_general_ci utf8mb4_general_ci替换为utf8_general_ci
以上是Mysql8怎麼導入資料到Mysql5.7中的詳細內容。更多資訊請關注PHP中文網其他相關文章!