首頁  >  文章  >  資料庫  >  Mysql8怎麼導入資料到Mysql5.7中

Mysql8怎麼導入資料到Mysql5.7中

WBOY
WBOY轉載
2023-06-03 09:43:263468瀏覽

    Mysql8的預設字元集為utf8mb4,排序規則為utf8mb4_0900_ai_ci,當我們有需求要把Mysql8的資料匯入到Mysql5.7時,就會出現Mysql5.7不支援utf8mb4_0900_ai_ci的排序規則,那麼我們可以有以下2中方法來解決。

    修改xx.sql檔案的字元集和排序規則

    可以先把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將MySQL8.0匯入到MySQL5.7

    開啟Navicat,選取資料庫,點選工具–資料傳輸

    Mysql8怎麼導入資料到Mysql5.7中

    點選文件,選擇要匯出的版本

    Mysql8怎麼導入資料到Mysql5.7中

    #開啟.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中文網其他相關文章!

    陳述:
    本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除