MongoDB安装

安装前准备

在vi /etc/rc.local最后添加如下代码
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
  echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
   echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi
/etc/security/limits.d/99-mongodb-nproc.conf

mongod   soft    fsize     unlimited
mongod   hard    fsize     unlimited
mongod   soft    cpu       unlimited
mongod   hard    cpu       unlimited
mongod   soft    as        unlimited
mongod   hard    as        unlimited
mongod   soft    nofile    64000
mongod   hard    nofile    64000
mongod   soft    nproc     64000
mongod   hard    nproc     64000

安装部署

1.创建用户和组
[root@myhost home]# useradd  mongod
[root@myhost home]# passwd mongod

2. 创建所需目录,因为使用的机器没有独立的/data,而home目录所在磁盘空间最大,所以放mongod用户家目录下
[root@myhost mongod]# su - mongod 
[mongod@myhost ~]$ mkdir /home/mongod/conf
[mongod@myhost ~]$ mkdir /home/mongod/log
[mongod@myhost ~]$ mkdir /home/mongod/data

3.上传文件
上传文件到/home/mongod/ 下解压
[mongod@myhost ~]$ tar -zxvf mongodb-linux-x86_64-3.4.20.tgz
[mongod@myhost ~]$ ln -s mongodb-linux-x86_64-3.4.20 mongodb
4.添加环境变量
[mongod@myhost ~]$ vim .bash_profile
export PATH=/home/mongod/mongodb/bin:$PATH
[mongod@myhost ~]$ source .bash_profile 
5 启动服务
[mongod@myhost ~]$ mongod --dbpath=/home/mongod/data --logpath=/home/mongod/log/mongodb.log --port=27017 --logappend --fork
about to fork child process, waiting until server is ready for connections.
forked process: 21773
child process started successfully, parent exiting
[mongod@myhost ~]$ 

登录服务
[mongod@myhost ~]$ mongo

6 使用配置文件
vim /home/mongod/conf/mongod.conf

systemLog:
  destination: file
  path: /home/mongod/log/mongodb.log
  logAppend: true
storage:
  journal:
    enabled: true
  dbPath: /home/mongod/data
  directoryPerDB: true
  engine: wiredTiger
  wiredTiger:
    engineConfig:
      cacheSizeGB: 1
      directoryForIndexes: true
    collectionConfig:
      blockCompressor: zlib
    indexConfig:
      prefixCompression: true
processManagement:
  fork: true
net:
  bindIp: 172.18.27.141,127.0.0.1
  port: 27017


启动和停止服务
mongod -f /home/mongod/conf/mongod.conf 
mongod -f /home/mongod/conf/mongod.conf --shutdown

创建管理员账号
use admin
db.createUser(
{
    user: "root",
    pwd: "root123",
    roles: [ { role: "root", db: "admin" } ]
}
)
验证用户
db.auth('root','root123')
配置文件中加入配置
security:
  authorization: enabled
重启
[mongod@myhost ~]$ mongod -f conf/mongod.conf --shutdown
killing process with pid: 22229
[mongod@myhost ~]$ 
[mongod@myhost ~]$ mongod -f conf/mongod.conf 
about to fork child process, waiting until server is ready for connections.
forked process: 22263
child process started successfully, parent exiting
[mongod@myhost ~]$ 
登录认证
1. 方式一
use admin
db.auth('root','root123')

2.方式二
mongo -uroot -proot123  admin
mongo -uroot -proot123  172.18.27.141/admin
创建应用用户
use mydb
db.createUser(
    {
        user: "app01",
        pwd: "app01",
        roles: [ { role: "readWrite" , db: "mydb" } ]
    }
)
登录:
[mongod@myhost conf]$ mongo -uapp01 -papp01 mydb
MongoDB shell version v3.4.20
connecting to: mongodb://127.0.0.1:27017/mydb
MongoDB server version: 3.4.20
> 
查看mongodb中的用户
use admin
db.system.users.find().pretty()
删除用户
use mydb
db.dropUser("app01")

单机版的安装到此结束

备份

(1)**   mongoexport/mongoimport
(2)***** mongodump/mongorestore
mongodump 介绍
$ mongodump --help
参数说明:
-h:指明数据库宿主机的IP
-u:指明数据库的用户名
-p:指明数据库的密码
-d:指明数据库的名字
-c:指明collection的名字
-o:指明到要导出的文件名
-q:指明导出数据的过滤条件
-j, --numParallelCollections=  number of collections to dump in parallel (4 by default)
--oplog  备份的同时备份oplog
全量备份
mongodump -uroot -proot123 --port 27017 --authenticationDatabase admin -o /home/mongod/backup
备份mydb库
mongodump -uroot -proot123 --port 27017 --authenticationDatabase admin -d mydb -o /home/mongod/backup
备份集合
mongodump -uroot -proot123 --port 27017 --authenticationDatabase admin -d mydb  -c mycollection -o /home/mongod/backup
压缩备份 加上 --gzip
mongorestore 恢复数据库
恢复mydb库
mongodump -uroot -proot123 --port 27017 --authenticationDatabase admin -d mydb -o /home/mongod/backup/mydb
恢复集合
mongorestore   -uroot -proot123 --port 27017 --authenticationDatabase admin -d mydb -c mycollection  --gzip  /mongodb/backup.bak/mydb/mycollection  .bson.gz 
--drop 恢复之前把原来的库删除掉
mongodump -uroot -proot123 --port 27017 --authenticationDatabase admin -d mydb  --drop -o /home/mongod/backup/mydb
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容