简介
特点
需要SQL 的问题
一、MongoDB安装
1、添加yum源
vim /etc/yum.repos.d/mongodb-org.repo
[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
2、安装mongodb
yum list
yum install mongodb-org -y
3、编辑配置文件
vim /etc/mongod.conf #yum 安装的配置文件在/etc下
port: 27017 #监听端口
bindIp: 0.0.0.0 #监听地址
4、开启服务
systemctl start mongod.service #方法一
mongod -f /etc/mongod.conf #方法二
netstat -anpt | grep 27017 #查看端口
5、关闭服务
mongod -f /etc/mongod.conf --shutdown #方法一
kill-9 进程号 #方法二
6、进入数据库
二、多实例操作
1、编辑实例2的配置文件
cd /etc/
cp -p mongod.conf mongod2.conf #复制配置文件
vim mongod2.conf #修改配置文件
path: /data/mongodb/mongod2.log
dbPath: /data/mongodb/mongod2
port: 27018
2、创建日志文件、数据文件存放目录
mkdir -p /data/mongodb/
cd /data/mongodb/
mkdir mongod2
touch mongod2.log
chmod 777 mongod2.log
3、开启实例2
mongod -f /etc/mongod2.conf
4、查看端口
netstat -ntap
四、基本操作命令
#增
//不存在会创建,不建立集合会删除
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();
五、导入、导出数据库
首先创建一个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
六、备份、恢复
//备份
mongodump -d school -o /opt/ #/opt自动按数据库名称建立文件
//恢复
mongorestore -d aaa --dir=/opt/school #还原的数据库可以不存在
七、复制数据库
db.copyDatabase("aaa","aaa2") #数据库中内容也会复制
八、克隆集合
mongo --port 27018 跨实例克隆(在另外的实例中)
db.runCommand({"cloneCollection":"aaa.info","from":"192.168.37.128:27017"})
九、创建管理用户
use admin
db.createUser({"user":"root","pwd":"123","roles":["root"]})
db.auth("root","123") #显示1,成功
十、进程管理
db.currentOp()
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。