溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Mongodb基操--基本安裝與多實(shí)例操作

發(fā)布時(shí)間:2020-07-20 14:50:22 來源:網(wǎng)絡(luò) 閱讀:791 作者:一介余民 欄目:MongoDB數(shù)據(jù)庫(kù)

NoSQL 簡(jiǎn)介

NoSQL(NoSQL = Not Only SQL ),意即"不僅僅是SQL"。

在現(xiàn)代的計(jì)算系統(tǒng)上每天網(wǎng)絡(luò)上都會(huì)產(chǎn)生龐大的數(shù)據(jù)量。

這些數(shù)據(jù)有很大一部分是由關(guān)系數(shù)據(jù)庫(kù)管理系統(tǒng)(RDBMS)來處理。 1970年 E.F.Codd's提出的關(guān)系模型的論文 "A relational model of data for large shared data banks",這使得數(shù)據(jù)建模和應(yīng)用程序編程更加簡(jiǎn)單。

通過應(yīng)用實(shí)踐證明,關(guān)系模型是非常適合于客戶服務(wù)器編程,遠(yuǎn)遠(yuǎn)超出預(yù)期的利益,今天它是結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)在網(wǎng)絡(luò)和商務(wù)應(yīng)用的主導(dǎo)技術(shù)。

NoSQL 是一項(xiàng)全新的數(shù)據(jù)庫(kù)革命性運(yùn)動(dòng),早期就有人提出,發(fā)展至2009年趨勢(shì)越發(fā)高漲。NoSQL的擁護(hù)者們提倡運(yùn)用非關(guān)系型的數(shù)據(jù)存儲(chǔ),相對(duì)于鋪天蓋地的關(guān)系型數(shù)據(jù)庫(kù)運(yùn)用,這一概念無疑是一種全新的思維的注入。

關(guān)系型數(shù)據(jù)庫(kù)遵循ACID規(guī)則

事務(wù)在英文中是transaction,和現(xiàn)實(shí)世界中的交易很類似,它有如下四個(gè)特性:

1、A (Atomicity) 原子性

原子性很容易理解,也就是說事務(wù)里的所有操作要么全部做完,要么都不做,事務(wù)成功的條件是事務(wù)里的所有操作都成功,只要有一個(gè)操作失敗,整個(gè)事務(wù)就失敗,需要回滾。

比如銀行轉(zhuǎn)賬,從A賬戶轉(zhuǎn)100元至B賬戶,分為兩個(gè)步驟:1)從A賬戶取100元;2)存入100元至B賬戶。這兩步要么一起完成,要么一起不完成,如果只完成第一步,第二步失敗,錢會(huì)莫名其妙少了100元。

2、C (Consistency) 一致性

一致性也比較容易理解,也就是說數(shù)據(jù)庫(kù)要一直處于一致的狀態(tài),事務(wù)的運(yùn)行不會(huì)改變數(shù)據(jù)庫(kù)原本的一致性約束。

例如現(xiàn)有完整性約束a+b=10,如果一個(gè)事務(wù)改變了a,那么必須得改變b,使得事務(wù)結(jié)束后依然滿足a+b=10,否則事務(wù)失敗。

3、I (Isolation) 獨(dú)立性

所謂的獨(dú)立性是指并發(fā)的事務(wù)之間不會(huì)互相影響,如果一個(gè)事務(wù)要訪問的數(shù)據(jù)正在被另外一個(gè)事務(wù)修改,只要另外一個(gè)事務(wù)未提交,它所訪問的數(shù)據(jù)就不受未提交事務(wù)的影響。

比如現(xiàn)在有個(gè)交易是從A賬戶轉(zhuǎn)100元至B賬戶,在這個(gè)交易還未完成的情況下,如果此時(shí)B查詢自己的賬戶,是看不到新增加的100元的。

4、D (Durability) 持久性

持久性是指一旦事務(wù)提交后,它所做的修改將會(huì)永久的保存在數(shù)據(jù)庫(kù)上,即使出現(xiàn)宕機(jī)也不會(huì)丟失。

 

yum安裝過程

配置YUM源倉(cāng)庫(kù)

cd /etc/yum.repos.d/vim mongodb-org.repo
寫入以下內(nèi)容
[mongodb-org]
name=MongoDB
Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1 
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
安裝
yum list
yum install mongodb-org -y

基本配置

vim /etc/mongod.conf 
修改如下
net:
  port: 27017
  bindIp: 0.0.0.0                 /允許所有人訪問
systemctl start mongod.service    /啟動(dòng)服務(wù)replication:
        replSetName: yang       /定義復(fù)制集名稱         

netstat -ntap | grep 27017        /檢測(cè)端口是否開啟


多實(shí)例操作過程

下面添加2.3.4三個(gè)實(shí)例

創(chuàng)建新的存放點(diǎn)

mkdir -p /data/mongodb/mongodb{2,3,4}    /首先創(chuàng)建數(shù)據(jù)文件存放位置
mkdir -p /data/mongodb/logs                     /日志文件存放位置
touch /data/mongodb/logs/mongodb{2,3,4}.log   /日志文件
chmod 777 /data/mongodb/logs/*.log    /給日志文件加權(quán)

cd /data/mongodb/               /記得檢查操作是否奏效
[root@cent mongodb]# ls
logs  mongodb2  mongodb3  mongodb4
[root@cent mongodb]# cd logs/
[root@cent logs]# ll
總用量 0
-rwxrwxrwx. 1 root root 0 9月  12 09:48 mongodb2.log
-rwxrwxrwx. 1 root root 0 9月  12 09:48 mongodb3.log
-rwxrwxrwx. 1 root root 0 9月  12 09:48 mongodb4.log

編輯2.3.4的配置文件

vim /etc/mongod2.conf
修改如下
systemLog:
  destination: file
  logAppend: true
  path:        /后面的3,4則改為mongodb3.log
  storage:
  dbPath:            /后面的3,4則改為mongodb3
  journal:
    enabled: true
net:
  port:                   /后面的3,4則改為27019,27020
  bindIp: 0.0.0.0replication:
        replSetName: yang

啟動(dòng)與檢測(cè)·

開啟服務(wù)
[root@cent logs]# mongod -f /etc/mongod2.conf 
about to fork child process, waiting until server is ready for connections.
forked process: 83795child process started successfully, parent exiting[root@cent logs]# mongod -f /etc/mongod3.conf 
about to fork child process, waiting until server is ready for connections.
forked process: 83823child process started successfully, parent exiting[root@cent logs]# mongod -f /etc/mongod4.conf 
about to fork child process, waiting until server is ready for connections.
forked process: 83851child process started successfully, parent exiting[root@cent logs]# netstat -ntap                                     /檢測(cè)端口,分別看到27017,18,19,20Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      83597/mongod        
tcp        0      0 0.0.0.0:27018           0.0.0.0:*               LISTEN      83795/mongod        
tcp        0      0 0.0.0.0:27019           0.0.0.0:*               LISTEN      83823/mongod        
tcp        0      0 0.0.0.0:27020           0.0.0.0:*               LISTEN      83851/mongod        
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      745/rpcbind         
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      4548/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      1199/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      1202/cupsd          
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN      2997/master         
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN      21813/sshd: root@pt tcp        0      0 192.168.137.11:22       192.168.137.1:50063     ESTABLISHED 21813/sshd: root@pt tcp6       0      0 :::111                  :::*                    LISTEN      745/rpcbind         
tcp6       0      0 :::22                   :::*                    LISTEN      1199/sshd           
tcp6       0      0 ::1:631                 :::*                    LISTEN      1202/cupsd          
tcp6       0      0 ::1:25                  :::*                    LISTEN      2997/master         
tcp6       0      0 ::1:6010                :::*                    LISTEN      21813/sshd: root@pt



登陸測(cè)試

[root@cent logs]# mongo --port 27019      /指定端口登陸
MongoDB shell version v3.6.7
connecting to: mongodb://127.0.0.1:27019
/MongoDB server version: 3.6.7
>


完成!


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI