参考
mongo下载
从mongoDB官网mongodb community 下载地址下载最新安装包,
解压到 Documents/目录下,如图:
mongod - 数据库服务器. 【命令行 : 第一步:启动服务】
mongos - 分片路由器.
mongo - 数据库shell(使用交互式javascript).【命令行 : 第二步:连接服务】
配置环境变量
#打开环境变量的配置文件
open -e .bash_profile
#添加路径
export PATH=<mongodb-install-directory>/bin:$PATH
# 或者一步到位
echo 'export PATH=/Users/tmk/Documents/mongodb-macos-x86_64-4.4.1/bin:$PATH'>>~/.bash_profile
关闭命令行,重启开启命令行
echo $PATH
# 即可查看最新的环境变量
配置数据库目录
方法一:
在安装MongoDB时,需要创建一个/data/db文件夹用来作为默认数据库目录。
但是因为Mac电脑默认是开启安全模式的,不能在根目录下面随便创建删除文件夹。所以我们创建的时候,会报这个错误mkdir: /data/db: Read-only file system
【mac安装MongoDB报错】mkdir: /data/db: Read-only file system
#我们用~/data文件夹作为数据库目录,代替/data/db文件夹
mkdir ~/data
#进入到~/data目录
cd ~/data
#查看目录路径,下面会用到
pwd
/Users/tmk/data
#运行 MongoDB 服务器
#这里的路径需要换成你自己电脑上面的路径
sudo mongod --dbpath=/Users/tmk/data
# 连接MongoDB
#另开一个命令行执行:
mongo
#浏览器输入
# http://localhost:27017/
#打印:
#It looks like you are trying to access MongoDB over HTTP on the native driver port.
方法二:
使用vscode打开mongo安装主目录,创建目录和文件如下:
mongod.config:
#mongodb config file
dbpath=/Users/tmk/Documents/mongodb-macos-x86_64-4.4.1/data/db/
logpath=/Users/tmk/Documents/mongodb-macos-x86_64-4.4.1/data/log/mongod.log
logappend = true
port = 27017
# 后台运行
fork = true
# 开启auth参数,认证通过后才能访问数据库
auth = true
常用命令
#mongo安装目录
which mongod
#mongo版本
mongod -version
#启动服务
#数据库数据文件路径
#日志文件的路径
#以追加的方式打开文件
#将数据库服务放在后台运行
# 这里直接按照配置文件来启动服务
mongod --config /Users/tmk/Documents/mongodb-macos-x86_64-4.4.1/etc/mongod.config
# 或
mongod -f /Users/tmk/Documents/mongodb-macos-x86_64-4.4.1/etc/mongod.config
# 正确的关闭服务
# 在mongo命令行 :
use admin;
db.shutdownServer();
#或者 关闭服务 Ctrl+C
# 当前用户
show users
# 显示数据库
show dbs
show collections
# 当前数据库
db
# 查看当前库下的账户 :
use admin
db
show users
# 查看全局所有账户:
use admin
db
db.auth('admin','123456')
db.system.users.find().pretty()
Mongodb报错:"not authorized on admin to execute command "
执行以下命令即可:
use admin
db.createUser(
{
user:"root",
pwd:"123456",
roles:[{role:"userAdminAnyDatabase",db:"admin"}]
}
);
db.auth('root','123456')
- 1.数据库用户角色:read、readWrite;
- 2.数据库管理角色:dbAdmin、dbOwner、userAdmin;
- 3.集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager;
- 4.备份恢复角色:backup、restore
- 5.所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
- 6.超级用户角色:root
mongodb启动报错ERROR: child process failed, exited with error number
1、删掉data/db中的 mongod.lock
文件
2、
# 启动服务
mongod --config /Users/tmk/Documents/mongodb-macos-x86_64-4.4.1/etc/mongod.config --repair
mongod --config /Users/tmk/Documents/mongodb-macos-x86_64-4.4.1/etc/mongod.config
# 查看进程
ps aux|grep mongo
mongodb服务的开启和关闭
命令行一:开启 mongod 的进程
输入:
mongod --config /Users/tmk/Documents/mongodb-macos-x86_64-4.4.1/etc/mongod.config
命令行二:连接 mongo 服务
输入:
mongo
show dbs
命令行一 :查看 mongod 进程
输入:
ps -ef | grep mongo
ps -ef | grep mongo
501 9097 1 0 9:54上午 ?? 0:00.35 mongo
501 10103 1 0 11:12上午 ?? 0:00.92 mongod --config /Users/tmk/Documents/mongodb-macos-x86_64-4.4.1/etc/mongod.config
501 10127 10094 0 11:12上午 ttys000 0:00.00 grep mongo
501 10121 10113 0 11:12上午 ttys001 0:00.11 mongo
可看到 mongod 的进程
命令行二:关闭 mongod 的进程
输入:
use admin;
db.shutdownServer();
> use admin;
switched to db admin
> db.shutdownServer();
server should be down...
命令行一 : 再次 查看 mongod 进程
再次查看进程:
ps -ef | grep mongo
501 9097 1 0 9:54上午 ?? 0:00.36 mongo
501 10190 10094 0 11:16上午 ttys000 0:00.00 grep mongo
501 10121 10113 0 11:12上午 ttys001 0:00.12 mongo
可看到 mongod 的进程 已被杀死。