三、【Mongo】数据库Docker启动

一、镜像-容器启动 Mongodb

1、拉取镜像

docker pull mongo

2、创建mongodb容器

2.1 创建挂载文件夹

mkdir mongodb
cd ./mongdb
mkdir data
mkdir backup

2.2 创建容器

docker run 
--name mongo \
-p 27017:27017  \
-v /mnt/mongodb/data:/data/db  \
-v /mnt/mongodb/backup:/data/backup  \
-id mongo  \
--auth

–auth 表示mongodb需要进行用户验证

2.3 创建用户名密码

# 进入容器
docker exec -it mongo bash
mongo admin
# 创建root权限用户
db.createUser({ user: 'root', pwd: '123456', roles: [ { role: "root", db: "admin" } ] });
# 创建其他权限用户
db.createUser({user:"test",pwd:"test",roles:["readWrite"]});

# 用户登录
db.auth('test', 'test')
# root用户登录
use admin;
db.auth('root', '123456')

2.4 数据库备份

docker exec mongo sh -c 'exec var=`date +%Y%m%d%H%M` && mongodump -h localhost --port 27017 -u root -p 123456  --authenticationDatabase admin -d dbname -o /data/backup/$var_test1.dat'

注意参数

-h 数据库ip
–port 数据库端口号
-u 数据库用户
-p 数据库密码
-d 备份数据库
-o 备份输出内容

2.5 数据库还原

docker exec mongo sh -c 'mongorestore -u root -p 123456 --authenticationDatabase admin -d dbname --dir /data/backup/xxx'

注意参数:

–dir 还原数据库文件夹

二、经典启动脚本

1、启动+Restore

mongo_startup.sh

#!/bin/bash

docker run  \
-id \
--net=host  \
--name mongodb  \
-e MONGO_INITDB_ROOT_USERNAME=root  \
-e MONGO_INITDB_ROOT_PASSWORD=123456  \
-v $PWD/data:/data/db \
-v $PWD/backup:/data/backup \
mongo:latest \
--auth

sleep 5

docker exec mongodb sh -c 'mongorestore -u root -p 123456 --authenticationDatabase admin -d test --dir /data/backup/test'

三、Mongodb数据库操作

1、删除数据库

mongo admin;
show dbs;
db.auth('账号', '密码')
use test; // test是指数据库
db.dropDatabase(); // 删除数据库
ctrl+c; //退出mongo环境
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值