摘要:數據的遷移由于需要換引擎,所以原來的數據不能直接使用了,必須使用和兩個工具來遷移數據。指定一個時間限制以毫秒為單位。以上是新版本用戶角色權限的一些說明。到這里,單實例的從遷移到就基本完成了。
首發于 搞起博客
總共有這么幾個問題需要解決:
1. mongodb3.0版本的二進制包
1. wiredTiger引擎的配置
1. 數據的遷移
1. 權限
這個就不用多說了,直接去官網選擇對應的系統下載就好
https://www.mongodb.org/downloads
我是centos 6.3,對應的發行版貌似是redhat6.x,所以選擇的redhat6 64bit
官方給的例子是以yaml形式寫的配置,我還是以conf文件形式,所以就在后面追加了一個選項就可以了。當然我是重建的庫路徑,如果原有的數據路徑的話,啟用wiredTiger是會報錯的。這就是下面要說的一個部分。
dbpath=/your/data/path logpath=/your/log/path logappend=true bind_ip = 127.0.0.1 auth = true port = 27017 journal = true #fork=true storageEngine=wiredTiger數據的遷移
由于需要換引擎,所以原來的數據不能直接使用了,必須使用monogodump 和mongorestore兩個工具來遷移數據。
具體操作可以參見這篇文章
通過mongodump和mongorestore實現Mongodb備份和恢復
那么將數據導入之后,如果需要設置權限的話,首先是需要admin庫中創建一個user的,還是先把auth=true給注釋掉了,創建個用戶,到這里懵逼了一下,提示addUser方法錯誤,查了一下發現,3.0的用戶及權限有些改變。
定義創建一個數據庫新用戶用db.createUser()方法,如果用戶存在則返回一個用戶重復錯誤。
語法db.createUser(user, writeConcern)
* user這個文檔創建關于用戶的身份認證和訪問信息;
* writeConcern這個文檔描述保證MongoDB提供寫操作的成功報告。
· user文檔,定義了用戶的以下形式:
{ user: "user文檔字段介紹:", pwd: " ", customData: { }, roles: [ { role: " ", db: " " } | " ", ... ] }
user字段,為新用戶的名字;
pwd字段,用戶的密碼;
cusomData字段,為任意內容,例如可以為用戶全名介紹;
roles字段,指定用戶的角色,可以用一個空數組給新用戶設定空角色;
在roles字段,可以指定內置角色和用戶定義的角色。
1. 數據庫用戶角色:read、readWrite; 2. 數據庫管理角色:dbAdmin、dbOwner、userAdmin; 3. 集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager; 4. 備份恢復角色:backup、restore; 5. 所有數據庫角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase 6. 超級用戶角色:root // 這里還有幾個角色間接或直接提供了系統超級用戶的訪問(dbOwner 、userAdmin、userAdminAnyDatabase) 7. 內部角色:__system PS:關于每個角色所擁有的操作權限可以點擊上面的內置角色鏈接查看詳情。writeConcern文檔 官方說明
w選項:允許的值分別是 1、0、大于1的值、"majority"、;
j選項:確保mongod實例寫數據到磁盤上的journal(日志),這可以確保mongd以外關閉不會丟失數據。設置true啟用。
wtimeout:指定一個時間限制,以毫秒為單位。wtimeout只適用于w值大于1。
例如:在products數據庫創建用戶accountAdmin01,并給該用戶admin數據庫上clusterAdmin和readAnyDatabase的角色,products數據庫上readWrite角色。
use products db.createUser( { "user" : "accountAdmin01", "pwd": "cleartext password", "customData" : { employeeId: 12345 }, "roles" : [ { role: "clusterAdmin", db: "admin" }, { role: "readAnyDatabase", db: "admin" }, "readWrite" ] }, { w: "majority" , wtimeout: 5000 } )
以上是新版本用戶、角色、權限的一些說明。
看看我們現在要做的:
先創建個管理員
use admin db.createUser( { user: "adminuser", pwd: "12345678", roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] } )
再創建我們應用庫的用戶
use appdb db.createUser( { user: "luoyjx", pwd: "12345678", roles: [ { role: "readWrite", db: "appdb" } ] } )
使用db.auth(username,pwd)可以驗證一下
創建用戶大概到這里了,創建完admin,再創建一個普通用戶就基本OK了。
到這里,單實例的mongodb從2.6遷移到3.0就基本完成了。
TODO副本集(沒有折騰)
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/18766.html
摘要:于是就有了這次的版本升級任務。如果返回的值小于,那么則需要用在庫里具有權限的用戶連上的庫然后執行用戶認證格式轉換。參考文檔及軟件下載鏈接升級官方指南升級官方指南警告的解決方案下載下載 最近為了長遠考慮想把項目MongoDB里存放的400多萬數據遷移到云服務廠商提供的MongoDB服務上,省去自己去維護的時間,但是看了下云服務對MongoDB數據遷移上云的要求是自建MongoDB數據庫的...
摘要:概述使用這個教程在使用軟件包安裝社區版本安裝教程僅支持位操作系統詳細信息請參閱平臺支持軟件包在自己的存儲庫中提供官方支持軟件包此存儲庫包含以下軟件包軟件名簡介一個元軟件包將自動安裝下面列出的四個組件包包含守護程序和關聯配置和初始化腳本 概述 使用這個教程在 Amazon Linux 使用 .rpm 軟件包安裝 MongoDB 社區版. 本安裝教程僅支持64位操作系統. 詳細信息請參閱平...
摘要:概述使用這個教程在企業版或者使用軟件包安裝社區版雖然一些發行版包含自己的軟件包官方的社區版包通常是最新的平臺支持本安裝教程僅支持位操作系統詳細信息請參閱平臺支持不建議對企業版的支持軟件包在自己的存儲庫中提供官方支持軟件包此存儲庫包含以下軟件 概述 使用這個教程在 Red Hat 企業版 Linux 或者 CentOS6/7 Linux 使用 .rpm 軟件包安裝 MongoDB 社區版...
摘要:一前言提綱基于和框架寫的一個全棧購物商城,記錄項目過程中遇到的一些問題以及經驗和技巧。服務端技術棧登錄授權用認證機制,來實現登錄登出。服務器配置和緩存策略,根據不同的來代理。申請證書全站升級到,配置的協議。一、前言提綱 基于Vue和Express框架寫的一個全棧購物商城,記錄項目過程中遇到的一些問題以及經驗和技巧。 二、歷史版本 基于Vue-CLI2.0:點我查看 這個分支版本是一兩年前...
摘要:一前言提綱基于和框架寫的一個全棧購物商城,記錄項目過程中遇到的一些問題以及經驗和技巧。服務端技術棧登錄授權用認證機制,來實現登錄登出。服務器配置和緩存策略,根據不同的來代理。申請證書全站升級到,配置的協議。 一、前言提綱 基于Vue和Express框架寫的一個全棧購物商城,記錄項目過程中遇到的一些問題以及經驗和技巧。 二、歷史版本 基于Vue-CLI2.0:點我查看這個分支版本是一兩...
閱讀 701·2021-11-18 10:02
閱讀 2235·2021-11-15 18:13
閱讀 3139·2021-11-15 11:38
閱讀 2934·2021-09-22 15:55
閱讀 3667·2021-08-09 13:43
閱讀 2438·2021-07-25 14:19
閱讀 2449·2019-08-30 14:15
閱讀 3441·2019-08-30 14:15