mysql 导入mongodb_mysql数据库迁移导入到mongodb详细教程
一直都想用nodejs改造我的博客,由于時間關系和價值衡量(懶)沒有付諸行動,近來訪問我的博客也變慢了,wordpress這開源框架著實臃腫,而且這是國外的產品,引用了許多外部資源造成打開慢也就理所當然了,咬牙切齒間心血來潮,打算拋棄后端php框架用node原創一個網站出來。當然轉node也不只是提快訪問速度體驗,廢話不多數,待到我成功從wordpress轉成node了會有大作交流~。前期首要任務就是數據庫的遷移,數據庫也不用mysql了,直接mongodb,這兩者的對比就不說了,自行了解。
首先用mysql工具,我這里以phpmyadmin數據庫管理工具(大眾化工具),進入你要導出的數據庫,選中所有表,點擊上面的“導出”數據。
跳轉到導出頁面,這里的設置一定要注意下,不能全選數據庫的表,只能一個個表導出,單擊以獲取某個表,每個表導出一個csv文件。
格式這里選擇csv格式。
滾動到csv設置模塊設置,勾選“首行保存字段名”,這里很關鍵,不勾選的話,你導入到mongodb中會出錯:Failed: fields cannot be identical: '' and '',主要原因是表頭沒了,也就是字段名沒了。
把該數據庫的所有表都導出之后,就通過mongodb命令行導入到mongo數據庫中,先進入到mongodb安裝目錄的bin目錄里面。
運行導入文件命令:mongoimport -h 127.0.0.1 -d mizuiren -c users --type csv --file D:\users.csv --headerline --upsert
要先創建一個數據庫,表可以不用創建,導入數據的時候會自動創建,如果沒有配置-c,mongo會自動給創建一個與csv文件名相同的表,命令的配置參數為:
-h host主機名,如果是本地的話不用改,就是127.0.0.1
-d??? 指定把數據導入到哪一個數據庫中
-c??? 指定把數據導入到哪一個集合中
--type??? 指定導入的數據類型
--file?????? 指定從哪一個文件中導入數據(文件的路徑)
--headerline??? 僅適用于導入csv,tsv格式的數據,表示文件中的第一行作為數據頭(表頭)
--upsert??以新增或者更新的方式來導入數據
出現導入多少文件的信息就表示導入成功了。
把所有csv文件導入成功之后就可以看到數據了,我這里用了mongovue來查看數據。
注意:mongodb 3.X版本默認是wiredTiger 引擎,2.x默認是mmapv1 引擎,如果你用了最新版的mongodb, 默認用mongovue是查看不到數據的,要轉成mmapv1就可以顯示了。創建數據庫的時候用以下命令,注意路徑。
mongod -storageEngine mmapv1 -dbpath E:\mongodb\data
或者你也可以通過命令行來查看導入的數據:
wordpress轉nodejs就成功一大截了,程序不是問題,接下來就是服務器端的部署了。
總結
以上是生活随笔為你收集整理的mysql 导入mongodb_mysql数据库迁移导入到mongodb详细教程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微信微粒贷在哪里找
- 下一篇: mysql数据库英文句子翻译_MySQL