下载地址:MongoDB Enterprise Server Download | MongoDB ?当前最新版本6.0.9,5.0.9对Mac m1需要centos 8.2版本。选择docker安装。
# 安装docker # 默认repo源没有docker-ce安装包,需要新的repo源 # 安装依赖库,yum-utils 提供命令"yum-config-manager" yum install -y yum-utils device-mapper-persistent-data lvm2 #设置添加阿里云镜像源 yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 我们在更新yum源或者出现配置yum源之后,通常都会使用yum makecache 生成缓存 yum makecache fast ? # 安装最新版本的docker-ce即可 yum -y install docker-ce docker --version systemctl start/stop/status/restart docker ? #将docker和镜像重启 systemctl restart docker systemctl daemon-reload ? # 为docker配置镜像加速 cat <<EOF > /etc/docker/daemon.json { ?"registry-mirrors": ["https://fzh5358h.mirror.aliyuncs.com"] } EOF systemctl daemon-reload # 设置开机自启,并重启 systemctl enable docker systemctl restart docker
#docker拉取mongo 4.4镜像
docker pull mongo:4.4
[root@qianfeng01 local]# mkdir -p /usr/local/mongodb/data /usr/local/mongodb/conf /usr/local/mongodb/log #运行docker容器(没有则创建),无需密码验证 docker run \ -itd \ --name mongo \ -p 27017:27017 \ -v /usr/local/mongodb/data:/mongo/data \ -v /usr/local/mongodb/conf:/mongo/conf \ -v /usr/local/mongodb/log:/mongo/log \ mongo:4.4 ? docker run代表运行容器,没有就创建 -i: 允许你对容器内的标准输入 (STDIN) 进行交互 -t: 在新容器内指定一个伪终端或终端 -d: 在后台运行容器并打印containerID --name: 指定容器名称 -p: 指定端口映射,即将容器的27107端口映射到本机27107 -v: 将本机的目录挂到容器内部/mongo/data目录 mongo:4.4:镜像名称 ? ? #创建mongo容器,后期登陆需要密码授权 docker run -itd --name mongo -p 27017:27017 mongo:4.4 --auth ? --auth表示访问时需要密码
# 查看容器列表 docker ps #docker查看mongo日志,mongo为容器名称 docker logs mongo ? #停止mongo容器 docker stop mongo ? #列出镜像 docker image ls ? #列出容器 docker container ls ? #容器停止一个或者多个容器 docker container stop de845050dc24 docker container start de845050dc24 ?#开启一个或者多个容器 docker container restart de845050dc24 ?#重启一个或者多个容器 docker container run ? ?#重新运行一个新的容器 ? #删除mongo容器 docker container rm de845050dc24
#无需账号登陆mongo,直接进入mongo容器内部,第一个mongo是容器名称,第二个是进入执行mongo docker exec -it mongo mongo MongoDB shell version v4.4.14 connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb Implicit session: session { "id" : UUID("fa47f0cc-e8c2-44c7-aa90-49e1d9dfdd8f") } MongoDB server version: 4.4.14 ........ > db.collections; test.collections > exit; #进入容器语法:docker exec [OPTIONS] CONTAINER COMMAND [ARG...] #退出mongo容器 > exit; ? # 通过容器名称进入容器内部,并以admin账号登陆mongo docker exec -it mongo mongo admin # 容器内部执行指令 db.createUser({ user:'root',pwd:'123456',roles:[ { role:'root', db: 'admin'}]});
测试连接成功后保存即可。
#上传服务器 $ scp ~/Desktop/mongodb-linux-x86_64-enterprise-rhel70-4.4.14.tgz 02:/home ? #解压MongoDB tar -zxvf /home/mongodb-linux-x86_64-enterprise-rhel70-4.4.14.tgz -C /usr/local/ #重命名 mv /usr/local/mongodb-linux-x86_64-enterprise-rhel70-4.4.14 /usr/local/mongodb #创建数据、配置、日志目录 mkdir -p /usr/local/mongodb/data /usr/local/mongodb/conf /usr/local/mongodb/log ? #在mongodb 下的bin建立配置文件夹 vim /usr/local/mongodb/conf/mongodb.conf # 然后输入 # mongodb 配置文件 port=27017 #端口 bind_ip=0.0.0.0 #默认是127.0.0.1 dbpath=/usr/local/mongodb/data #数据库存放 logpath=/usr/local/mongodb/log/mongodb.log #日志文件 fork=true #设置后台运行 #auth=true #开启认证 ? #启动mongodb [root@qianfeng02 mongodb]# /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/conf/mongodb.conf #启动完可以先本地连接 ? #连接客户端 [root@qianfeng02 mongodb]# /usr/local/mongodb/bin/mongo