Mac M1运行、连接 Docker MongoDB7。导出、恢复数据库

MongoDB,版本5、6.02、7.02适用
记录两种使用MongoDB的方法,本地安装包和docker
本地安装包方法:Mac M1安装MongoDB6、后台运行

Docker Mongo

一、docker运行MongoDB,并设置用户名密码

可以在创建容器的时候指定root用户名密码(加上参数MONGO_INITDB_ROOT_USERNAME、MONGO_INITDB_ROOT_PASSWORD)
也可以在容器运行后,进入容器连接数据库使用mongoshell创建用户
注意执行命令的路径!可以新建一个文件夹,mkdir mongodb7,用来映射config和db文件。
目前最新版本是7.0.2

#为了命令行看起来更清晰,加了换行符\,注意格式,\后面不能有空格
docker run  \
--name mongodb7 \
-p 27017:27017  \
-v $PWD/mongodb/configdb:/data/configdb/ \
-v $PWD/mongodb/data/db/:/data/db/ \
-e MONGO_INITDB_ROOT_USERNAME=root \
-e MONGO_INITDB_ROOT_PASSWORD=password \
-d mongo \
--auth
#进入mongo容器
docker exec -it mongodb7 /bin/bash

二、按需编辑配置

如果要编辑配置,比如bindIp,需要新建一个mongod.conf配置文件,MongoDB 容器在启动时会自动生成一个默认的配置文件,并将其命名为 /etc/mongod.conf.orig,我们可以复制它再编辑

#docker 镜像中没有vim,安装vim
apt-get update -y
apt-get install vim
#复制默认配置
cp /etc/mongod.conf.orig /etc/mongod.conf
vi /etc/mongod.conf
#修改后重启容器

三、容器内连接数据库

进入docker容器输入mongo,连接到数据库
旧版本命令是mongo,新版本用mongosh
mongosh
默认数据库是test
图片.png
如果在第一步docker指令中已经设置了用户名和密码,可以验证一下用户名密码,再执行其他操作
db.auth(“root”,“password”)
没有auth就会报错要求身份认证
图片.png

然后创建admin用户,以后使用uri连接要加上用户名和密码,比如比如mongodb://root:password@localhost:27017/
数据库软件可以用mongo官方的compass(免费),jet的datagrip,navicat最新版本也支持mongodb
图片.png
如果没有在docker指令中指定root用户密码,可以创建一个

show dbs
#切换到admin数据库
use admin
#新建用户
db.createUser({user: "root",pwd: "password",roles: [ { role: "root", db: "admin" } ]})
#身份验证
db.auth("root","password")

如果在其他应用中使用uri连接数据库,比如mongodb://root:password@localhost:27017/database-name?authSource=admin
要注意连接的数据库有没有对应的用户,确认在哪个数据库建的用户。在默认情况下,MongoDB会将用户凭据存储在admin数据库中

四、导出、恢复数据库

需要用到导出、恢复,mongo数据库工具在这里下载
https://www.mongodb.com/try/download/database-tools
(笔者在恢复过程遇到了点问题用旧版本mongodb-database-tools-100.6.1-1解决了,记录一下)
图片.png
图片.png

1、恢复数据库

和连接数据库的uri一样也要注意用户凭据存在哪个数据库,下面的指令 目标数据库不存在的话会自动创建,–dir指定备份文件所在文件夹,–db指定恢复到哪个数据库。如果是密钥登陆,就使用–sslCAFile ./pem文件路径。到bin文件夹执行mongorestore程序。

./mongorestore --host localhost:27017 \
--dir ./database-backup --db  database-name \
--username root --password password \
--authenticationDatabase=admin

2、导出数据库

–out指定输出的路径,不存在文件夹会自动创建

./mongodump --host localhost:27017 \
--out ./output --db  database-name \
--username root --password password \
--authenticationDatabase=admin

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/101114.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

CAMERALINK通信应用

简述: Cameralink是一个全面的视频接口,他可以满足以前所有的传输视频的功能,包括通信、配置、应答、同步、以及复位等等,在以前简单提过一下,但是没有深入研究,其实这个通信还是比较简单的,在这…

过滤器的实现及其原理责任链设计模式

Filter过滤器 过滤器的应用 DeptServlet,EmpServlet,OrderServlet三个业务类的业务方法执行之前都需要编写判断用户是否登录和解决的中文乱码的代码,代码没有得到重复利用 Filter是过滤器可以用来编写请求的过滤规则和多个Servlet都会执行的公共代码,Filter中的业务代码既可…

JVM的内存模型

一、JVM的内存模型 1.1、目标 内存模型是用来描述JVM内部的内存结构和内存管理的模型。它定义了JVM在运行Java程序时所需要的各种内存区域,以及每个内存区域的作用和特点。 1.2、结构划分 1.2.1、栈 每个线程在执行Java方法时会创建一个栈帧(Stack …

Chrome自动播放限制策略

原文链接:Chrome 自动播放限制策略 Web浏览器正在朝着更严格的自动播放策略发展,以便改善用户体验,最大限度地降低安装广告拦截器的积极性并减少昂贵和/或受限网络上的数据消耗。这些更改旨在为用户提供更大的播放控制权,并使开发…

[sqoop]hive导入mysql,其中mysql的列存在默认值列

一、思路 直接在hive表中去掉有默认值的了列,在sqoop导入时,指定非默认值列即可, 二、具体 mysql的表 hive的表 create table dwd.dwd_hk_rcp_literature(id string,literature_no string,authors string,article_title string,source_title string…

RabbitMQ开启消息发送确认和消费手动确认

开启RabbitMQ的生产者发送消息到RabbitMQ服务端的接收确认(ACK)和消费者通过手动确认或者丢弃消费的消息。 通过配置 publisher-confirm-type: correlated 和publisher-returns: true开启生产者确认消息。 server:port: 8014spring:rabbitmq:username: …

项目创建 Vue3 + Ts + vite + pinia

vite官网 项目初始化 准备安装工作(按步骤创建) npm init vuelatest创建完成后再次安装对应插件 然后百度配置main.ts里面引入 npm i pinia --save //安装pinia npm i vue-router --save //安装router npm i axios --save //安装axios //安装sass或less npm add -D scss npm…

uniapp-vue3微信小程序实现全局分享

uniapp-vue3微信小程序实现全局分享 文章目录 uniapp-vue3微信小程序实现全局分享微信小程序官方文档的分享说明onShareAppMessage(Object object)onShareTimeline() uniapp 官方文档的分享说明onShareAppMessage(OBJECT) 实现全局分享代码结构如下share.js文件内容main.js注意…

聊聊身边的嵌入式:用了七八年的电动牙刷,突然罢工了!!!

家里用了七八年的电动牙刷,前两天突然罢工。先尝试一下野蛮的修复方法(摔摔打打),这种独家绝技屡试不爽,曾经修好过收音机,电视机,电子手表… 等等。不过这次,没有成功!这周末终于有点儿时间&am…

数据库Mysql三大引擎(InnoDB、MyISAM、 Memory)与逻辑架构

MySQL数据库及其分支版本主要的存储引擎有InnoDB、MyISAM、 Memory等。简单地理解,存储引擎就是指表的类型以及表在计算机上的存储方式。存储引擎的概念是MySQL的特色,使用的是一个可插拔存储引擎架构,能够在运行的时候动态加载或者卸载这些存…

奥威BI系统:做数据可视化大屏,又快又简单

数据可视化大屏的制作难吗?会很花时间精力吗?这就要看用的是什么软件了。如果用的是BI系统,特别是奥威BI系统这类BI商业智能软件,那就是又快又简单。 奥威BI系统介绍: 奥威BI系统是一款高效的数据可视化大屏工具&…

Xilisoft Video Converter Ultimate for Mac:让音视频转换变得更简单

无论是在工作还是娱乐中,我们都会遇到音视频格式不兼容的问题。这时候,一个好用的音视频格式转换工具就显得尤为重要。Xilisoft Video Converter Ultimate for Mac(曦力音视频转换)就是这样一款让您的音视频转换变得更简单的工具。…

萝卜刀玩具上架亚马逊CPC认证测试标准

含铅或含铅涂料儿童产品的要求 分阶段限制儿童产品所有部件的铅含量,要求在3年内将产品任何可接触部件的铅含量限制从不超过重量的600ppm(0.06%)降至不超过重量的100ppm(0.01%)。 铅含量限值(总铅含量占重…

Pushgateway的场景使用

1,Pushgateway简介 Pushgateway为Prometheus整体监控方案的功能组件之一,并做为一个独立的工具存在。它主要用于Prometheus无法直接拿到监控指标的场景,如监控源位于防火墙之后,Prometheus无法穿透防火墙;目标服务没有可抓取监控数据的端点等多种情况。在类似场景中,可通…

element树形控件单选

需求功能&#xff1a; 1&#xff0c;element树形控件单选 2&#xff0c;双击节点编辑 <div style"height: calc(100% - 48px)"><el-scrollbar class"scrollbar-wrapper"><el-tree :data"treesObj" show-checkbox default-expan…

stable diffusion艰难炼丹之路

文章目录 概要autoDL系统盘爆满autoDL python3.8切换python3.10dreambooth训练大模型完成后报错 概要 主要是通过autoDL服务器部署stable diffusion&#xff0c;通过dreambooth训练大模型。 问题&#xff1a; autoDL系统盘爆满autoDL python3.8切换python3.10dreambooth训练大…

什么是云计算?云计算简介

其实“云计算”作为一个名词而言&#xff0c;那是相当成功滴。很多人都有听过。但提及云计算”具体是什么?很多人&#xff0c;知其然&#xff0c;却不知其所以然! 利用软件将这些成千上万不可靠的硬件组织成一个稳定可靠的IT系统&#xff0c;以此支撑其公司的IT基础服务。这家…

基于SpringBoot的靓车汽车销售网站

目录 前言 一、技术栈 二、系统功能介绍 用户信息管理 车辆展示管理 车辆品牌管理 用户交流管理 购物车 用户交流 我的订单管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;管理信息系统的…

vite vue3 pwa 更新提醒

效果 vite-plugin-pwa插件启用pwa后默认会在后台自动更新应用&#xff0c;并在关闭所有已开启的页面并重新打开后激活 通过此方法可以以消息方式提醒用户手动刷新激活更新应用 方法 已经使用vite-plugin-pwa插件启用pwa 修改vite.config.ts export default defineConfig(…

论文阅读——Large Selective Kernel Network for Remote Sensing Object Detection

目录 基本信息标题目前存在的问题改进网络结构另一个写的好的参考 基本信息 期刊CVPR年份2023论文地址https://arxiv.org/pdf/2303.09030.pdf代码地址https://github.com/zcablii/LSKNet 标题 遥感目标检测的大选择核网络 目前存在的问题 相对较少的工作考虑到强大的先验知…