簡介mongodb
特色數據庫
須要SQL 的問題
1、MongoDB安裝
一、添加yum源json
vim /etc/yum.repos.d/mongodb-org.repovim
[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
二、安裝mongodb緩存
yum list
yum install mongodb-org -y網絡
三、編輯配置文件數據結構
vim /etc/mongod.conf #yum 安裝的配置文件在/etc下分佈式
port: 27017 #監聽端口
bindIp: 0.0.0.0 #監聽地址
四、開啓服務ide
systemctl start mongod.service #方法一
mongod -f /etc/mongod.conf #方法二
netstat -anpt | grep 27017 #查看端口性能
五、關閉服務
mongod -f /etc/mongod.conf --shutdown #方法一
kill-9 進程號 #方法二
六、進入數據庫
2、多實例操做
一、編輯實例2的配置文件
cd /etc/
cp -p mongod.conf mongod2.conf #複製配置文件
vim mongod2.conf #修改配置文件
path: /data/mongodb/mongod2.log dbPath: /data/mongodb/mongod2 port: 27018
二、建立日誌文件、數據文件存放目錄
mkdir -p /data/mongodb/
cd /data/mongodb/
mkdir mongod2
touch mongod2.log
chmod 777 mongod2.log
三、開啓實例2
mongod -f /etc/mongod2.conf
四、查看端口
netstat -ntap
4、基本操做命令
#增
//不存在會建立,不創建集合會刪除
use mydb;
//插入數據
db.createCollection('a');
db.a.insert ({"id":1,"name":"zhang1"});
for (var i=2;i<=100;i++)db.a.insert({"id":i,"name":"zhang"+i});
#查
//查看數據庫
show dbs;
//查看集合
show collections;/show tables;
//查看信息
db.a.find();
//篩選查看
db.a.findOne({"id":3});
//別名篩選查看
c=db.a.findOne({"id":5});
//查看類型
typeof(c.id);
#改
//更改
db.users.update({"id":3},{$set:{"name":"tom"}});
#刪
//刪除信息
db.a.remove({"id":3});
//刪除集合
db.a.drop();
//刪除數據庫
db.dropDatabase();
5、導入、導出數據庫
首先建立一個school數據庫
for (var i=1;i<=100;i++)db.info.insert({"id":i,"name":"zhang"+i});
//導出
mongoexport -d school -c info -o /opt/school.json #導出整個數據庫
mongoexport -d school -c info -q '{"id":{$eq:10}}' -o /opt/top10.json #有條件的導出數據
//導入
mongoimport -d abc -c info --file a.json
6、備份、恢復
//備份
mongodump -d school -o /opt/ #/opt自動按數據庫名稱創建文件
//恢復
mongorestore -d aaa --dir=/opt/school #還原的數據庫能夠不存在
7、複製數據庫
db.copyDatabase("aaa","aaa2") #數據庫中內容也會複製
8、克隆集合
mongo --port 27018 跨實例克隆(在另外的實例中)
db.runCommand({"cloneCollection":"aaa.info","from":"192.168.37.128:27017"})
9、建立管理用戶
use admin
db.createUser({"user":"root","pwd":"123","roles":["root"]})
db.auth("root","123") #顯示1,成功
10、進程管理
db.currentOp()