docker 安装mongo db 常用命令
docker search mongo
2、选择自己需要的版本对应的镜像,拉取镜像
docker pull mongo 不带版本号默认拉取最新版本对的镜像mongo:4.2
3、创建外部挂载的文件并进行授权
mkdir mongodbdata 创建文件
chmod 777 /usr/mongodbdata 对文件进行授权 因为我这里是在usr目录下创建的,如果就在当前目录下则可以不带/usr/
4、创建容器并启动
docker run -d --name mongo -v /usr/local/docker/mongodbdata:/data/db -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 --restart=always mongo:4.2
5、命令说明
run:启动名称
-d 在后台运行容器,并且打印容器id
--name mongo 给创建的容器取的容器名称
-v /usr/mongodbdata:/data/db 给容器内部的数据文件指向mongodbdata ,即删除了容器,容器数据也不会丢失,下次创建容器继续挂载到mongodbdata即可看到删除容器之前的数据
-p 27017:27017 端口映射 前面是外部访问端口:后面内部开发的端口
-e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=123456 指定容器内的环境变量 初始化容器账号、密码
--restart=always 容器挂掉后自动重启
mongo 镜像名 也可用镜像id
6、进入容器内部
docker exec -it mongodb bash 这里mongodb是容器的名称
7、登录容器
mongo admin -u admin -p 123456 -u 后面的是创建容器指定的账号 -p 后面跟的是创建容器指定的密码
8、退出容器命令快捷键
先ctrl+p
然后ctrl+q
Mongodb常用命令行
1、登录本地mongo数据库
mongo --host 192.168.1.111 --port 27018 -u "root" -p "123zxcv" --authenticationDatabase "admin"
2、查看所有数据库
show dbs
3、创建数据库
3.1 如果数据库不存在,则创建数据库,否则切换到指定数据库
use db_name
4、删除数据库
4.1 使用某个库
use db_name
4.2查看当前数据库
db
4.3 删除该库
db.dropDatabase()
5、操作某个库下的集合(表)
5.1 使用某个库
use db_name
5.2 查看该库下的所有表
show tables
或
show collections
5.3 创建一个集合(表)
db.createCollection("table_name")
5.4 删除该表
db.table_name.drop()
5.5 根据条件删除某个集合的数据
db.category.deleteMany({'error':"Not Found"})
6、mongoexport从mongo中导出数据到json文件
6.1 导出某个库下某个表的所有数据
mongoexport --host <ip> --port <port> -d <db_name> -u <user_name> -p <password> --authenticationDatabase admin -c <table_name> -o <file_name>.json
例如
mongoexport --host 192.168.1.111 --port 27018 -d db_name -u root -p 123zxcv --authenticationDatabase admin -c table_name -o file_name.json
6.2 根据条件导出数据
mongoexport --host <ip> --port <port> -d <db_name> -u <user_name> -p <password> --authenticationDatabase admin -c <table_name> -q '{"$or":[{"userId":"8855e628456846fcbf24c5b380387d6d"},{"userId":"62ce749998c34cc3adac00b6b144ef9b"}}]}' -o <file_name>.json
例如
mongoimport --host <ip> --port <port> -d <db_name> -u <user_name> -p <password> --authenticationDatabase admin -c <table_name> --file <file_name>.json
7、mongoimport将json数据导入到mongo中
mongoimport --host <ip> --port <port> -d <db_name> -u <user_name> -p <password> --authenticationDatabase admin -c <table_name> --file <file_name>.json
例如
mongoimport --host 192.168.1.111 --port 27018 -d db_name -u root -p 123zxcv --authenticationDatabase admin -c table_name --file file_name.json