日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux中mongo的导出数据,Linux下mongodb安装及数据导入导出教程(示例代码)

發布時間:2024/9/19 linux 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux中mongo的导出数据,Linux下mongodb安装及数据导入导出教程(示例代码) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Linux下mongodb安裝及數據導入導出教程

#查看linux發行版本

cat?/etc/issue

#查看linux內核版本號

uname?-r

一、Linux下mongodb安裝的一般步驟

1.到mongodb的官網(https://www.mongodb.org/downloads)?下載相應你系統的安裝包,拷貝(能夠用ftp工具如winscp)到你的linux系統上面。

2.解壓相應的安裝包

命令例如以下:tar?zxvf?mongodb-linux-x86_64-3.0.4.tgz

重命名解壓后的目錄,簡化管理:mv?mongodb-linux-x86_64-3.0.4?mongodb

把mongodb文件夾移動到/usr/local/文件夾下,便于管理mv?mongodb?/usr/local/

3.為mongodb創建數據庫存放的位置和日志文件,默認是在/data/db以下,相同為了方便就在mongodb文件夾以下建立了對應的文件夾。

[[email?protected]?mongodb]#?mkdir?data

[[email?protected]?mongodb]#?mkdir?logs

4.啟動mongodb數據庫(注意:假設是root用戶下解壓的mongo。那么普通用戶是不能啟動mongo的,沒權限訪問那些root用戶創建的文件)

能夠進到mongodb以下的bin文件夾下查看mongodb的幫助文檔和我們用到的啟動參數:./mongod?-h

啟動數據庫(--fork表示在后臺執行mongo服務。假設沒有設置成后臺執行將無法在控制臺輸入別的東西)

./mongod?--dbpath=/usr/mongodb/data/?--logpath=/usr/mongodb/logs/log?--fork

查看mongo的進程

netstat?-tlnup?|?grep?mongod

為了安全起見建議關閉28017port防止信息外泄

pkill?mongod

5.進入mongodb的client開始mongodb之旅(假設上一步沒有設置后臺執行的話那就得又一次開一個client來進入下列文件夾執行)

在mongodb文件夾下的bin文件夾下運行./mongo

設置了password登錄的情況要這樣寫(shyx是username,事先定義的,passwordshyx能夠不在-p后面寫。之后會提示輸入)

./mongo?-u?yxadmin?-p?yx2345??admin

./mongo?-u?yxadmin?-p?這是最簡潔的登錄方式(注意默認僅僅是登錄test數據庫),會提示輸入password

./mongo?127.0.0.1:27017/admin?-uyxadmin?-pyx2345指定ip、數據庫、賬戶

6.停止mongo(盡量不要殺進程,會導致問題。使用admin里的方法來關)

>?use?admin

switched?to?db?admin

>?db.shutdownServer();

server?should?be?down...

能夠使用ps?-ef或者ps?-aux查看進程,找到mongo的進程號,然后kill

7.把mongo增加環境變量(這樣就不要每次都進安裝文件夾啟動服務了)

vim??/etc/profile

PATH=$PATH:/usr/local/mongodb/bin

source?/etc/profile

8.設置開機自啟動

將mongodb啟動項目追增加rc.local保證mongodb在server開機時啟動

echo?"/usr/local/mongodb/bin/mongod?--dbpath=/usr/local/mongodb/data?--logpath=/usr/local/mongodb/logs/logfile?--logappend??-port=27017"?>>?/etc/rc.local

(上述語句沒有設置要求password登錄)

9.設置須要權限的登錄方式,用戶連接須要username和password

在bin文件夾下用這條命令啟動./mongod?--dbpath=/usr/local/mongodb/data?--logpath=/usr/local/mongodb/logs/logfile?--logappend??--auth??--port=27017?--fork

帶有-auth參數時,必須通過認證才干夠查詢數據。

假設沒有加-auth參數,即使配置了安全認證用戶。也不須要認證誰都能夠操作。

10.設置安全認證用戶和password

MongoDB數據庫在默認是沒實username及password。不用安全驗證的,僅僅要連接上服務就能夠進行CRUD操作。

假設先前已經設置開機啟動mongo且是不用password登錄的,那么要改動原先開機啟動的設置,設置成須要password認證的開機服務。

================================================

在安裝完mongo后默認是不須要用戶認證的的,要創建一個管理員用戶:

use?admin

db.createUser(

{

user:"yxadmin",

pwd:"yx2345",

roles:["root"]

}?)

在管理員賬戶下創建一個pcmddo數據庫,并分配此數據庫的用戶和password(管理員能夠操作隨意數據庫)

use?pcmddo

db.createUser(

{

user:?"yxkj",

pwd:?"yx2345",

roles:

[

{?role:?"readWrite",?db:?"pcmddo"?},

]

}

)

==================================================

定位到mongodb\bin,使用./mongo進入mongodb的命令行管理。

鍵入命令:

use?admin

db.createUser(

{

user:?"yxkj",

pwd:?"yx2345",

roles:?[

{

role:?"userAdminAnyDatabase",

db:?"admin"

}?]

}

);

如今我們為mongodb的admin數據庫加入一個用戶shyx,password也是shyx,mongodb能夠為每一個數據庫都建立權限認證,也就是你能夠指定某個用戶能夠登錄到哪個數據庫。上面的代碼。我們為admin數據庫加入了一個shyx用戶,在mongodb中admin數據庫是一個特別的數據庫,這個數據庫的用戶,能夠訪問mongodb中的全部數據庫。

假設你要為test數據庫,設置一個用戶,使用例如以下命令:

use?test

db.createUser(

{

user:?"yxkj",

pwd:?"yx2345",

roles:?[

{

role:?"userAdminAnyDatabase",

db:?"admin"

}?]

}

);

好了,如今我們已經為mongodb設置了一個全局用戶yxkj,接下來先重新啟動mongodb,使創建的用戶生效(/etc/init.d/mongod?restart)

可能出現的問題

當用命令/usr/local/mongodb/bin/mongod?--dbpath=/usr/local/mongodb/data?--logpath=/usr/local/mongodb/logs/mongod.log?--fork啟動mongodb時,報例如以下錯誤:child?process?failed,?exited?with?error?number?1

這是由于非正常關閉mongodb引起的錯誤,解決的方法例如以下:

刪掉下面文件就可以:/usr/local/mongodb/mongod.lock

參考文獻:

二、Mongodb數據導入導出功能介紹

Windows?平臺、沒有設置usernamepassword

mongoimport?-d?Test_DBtsv?-c?Test_Table?--type?tsv?-h?127.0.0.1?--fields?手機號,field2,field3,field4,field5,field6,field7,field8?--file?D:\data\test.txt

mongoexport?-d?Test_DBtsv?-c?Test_Table?--csv?-f?手機號,field2,field3,field4,field7?-o?D:\data\outdata_csv.txt

Linux平臺、用戶認證后導入、導出數據

mongoimport?-d?Test_DBcsv?-c?Test_Table?--type?csv?-h?127.0.0.1?-u?zhou?-p?123?--fields手機號,field2,field3,field4,field5,field6,field7?--file?/data/test.txt

mongoexport?-d?Test_DBtsv?-c?Test_Table?--csv?-u?zhou?-p?123?-f?手機號,field2,field3,field4,field7?-o?/data/test.txt

導出數據能夠指定字段

兩種平臺主要是本地文件路徑寫法不一樣。假設要用usernamepassword登錄得寫上對應的參數(-u?-p)!

用戶認證的前提是事先為數據庫Test_DBcsv分配好賬戶password:

在沒有使用--auth選項啟動mongo的情況下進入mongo?shell運行以下的語句

use?Test_DBcsv

db.createUser(

{

user:?"zhou",

pwd:?"123",

roles:

[

{?role:?"readWrite",?db:?"Test_DBcsv"?},

]

}

)

這樣在使用--auth選項啟動mongoserver的情況下就能使用賬戶zhou登錄數據庫Test_DBcsv了。

參考文獻:

查看命令使用幫助

mongoimport?--help

mongoexport?--help

Mysql導入數據:

load?data??infile?"/big/pcmd5days/nanjing620/hebingnew.txt"?into?table?table2?(time,?processdate,ismi,lac,ceid,seg,importdate);

總結

以上是生活随笔為你收集整理的linux中mongo的导出数据,Linux下mongodb安装及数据导入导出教程(示例代码)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。