Mysql8導(dǎo)入數(shù)據(jù)到Mysql5.7的實(shí)現(xiàn)步驟
序
Mysql8的默認(rèn)字符集為utf8mb4,排序規(guī)則為utf8mb4_0900_ai_ci,當(dāng)我們有需求要把Mysql8的數(shù)據(jù)導(dǎo)入到Mysql5.7時,就會出現(xiàn)Mysql5.7不支持utf8mb4_0900_ai_ci的排序規(guī)則,那么我們可以有以下2中方法來解決。
修改xx.sql文件的字符集和排序規(guī)則
可以先把Mysql8的數(shù)據(jù)導(dǎo)出為sql腳本,然后再通過編輯器全量替換字符集和排序規(guī)則。這種方式適合不確定要導(dǎo)入哪個版本的Mysql,可以按需修改。
直接修改數(shù)據(jù)庫和表的字符集和排序規(guī)則
在我們開發(fā)階段可能用的是Mysql8的數(shù)據(jù)庫,但當(dāng)真正上線時,提供的卻是Mysql的其他版本數(shù)據(jù)庫,為了避免字符集和排序規(guī)則不匹配的問題,我們可以把開發(fā)用的Mysql8數(shù)據(jù)庫的字符集和排序規(guī)則與生產(chǎn)環(huán)境的數(shù)據(jù)庫版本兼容。
修改數(shù)據(jù)庫字符集和排序規(guī)則
-- database_name = 你的庫名 ALTER DATABASE `database_name` CHARACTER SET = utf8mb4 COLLATE = utf8mb4_general_ci;
修改表字符集和排序規(guī)則
-- 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"
執(zhí)行上述SQL后會得到修改表字符集和排序規(guī)則的SQL,我們復(fù)制出來執(zhí)行一遍就可以了。
通過Navicat將MySQL8.0導(dǎo)入到MySQL5.7
打開Navicat,選中數(shù)據(jù)庫,點(diǎn)擊工具–數(shù)據(jù)傳輸
點(diǎn)擊文件,選擇要導(dǎo)出的版本
打開.sql文件
utf8mb4替換為utf8 utf8mb4_0900_ai_ci替換為utf8_general_ci utf8_croatian_ci替換為utf8_general_ci utf8mb4_general_ci替換為utf8_general_ci
到此這篇關(guān)于Mysql8導(dǎo)入數(shù)據(jù)到Mysql5.7的實(shí)現(xiàn)步驟的文章就介紹到這了,更多相關(guān)Mysql8導(dǎo)入數(shù)據(jù)到Mysql5.7內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
mysql數(shù)據(jù)庫優(yōu)化總結(jié)(心得)
本篇文章是對mysql數(shù)據(jù)庫優(yōu)化進(jìn)行了詳細(xì)的總結(jié)與介紹,需要的朋友參考下2013-06-06MySQl數(shù)據(jù)庫必知必會sql語句(加強(qiáng)版)
本文給大家分享了一篇關(guān)于mysql數(shù)據(jù)庫必會sql語句加強(qiáng)版內(nèi)容,非常不錯,具有參考借鑒價值,需要的朋友參考下吧2017-04-04使用canal監(jiān)控mysql數(shù)據(jù)庫實(shí)現(xiàn)elasticsearch索引實(shí)時更新問題
這篇文章主要介紹了使用canal監(jiān)控mysql數(shù)據(jù)庫實(shí)現(xiàn)elasticsearch索引實(shí)時更新,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2022-03-03Linux(Ubuntu)下mysql5.7.17安裝配置方法圖文教程
這篇文章主要為大家詳細(xì)介紹了Linux下mysql5.7.17安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-01-01