在Mac上安装首选使用brew进行安装
Brew是Mac上的套件管理器,类似于Linux系统中的yum或者apt-get,在安装软件的时候可以摆脱下载软件包再手动安装的繁琐操作,让安装软件变得更加的简单。
Homebrew
homebrew是Mac下的软件包管理工具,主要是填补brew缺失的软件包。提供安装软件,卸载软件等操作。
首先安装Homebrew:
1 | /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" |
如果想要卸载brew,不知道卸载命令,可以再一次执行brew的安装命令,如果已经安装brew再次执行安装命令的话,会提示,告诉已经安装过brew了,如果想重复安装就执行卸载命令,然后根据终端的提示执行卸载命令就可以了。
brew的常用命令
更新brew
zsh1
brew update
安装软件
bash1
brew install soft_name
2
// soft_name为所要安装的软件名
卸载软件
bash1
brew uninstall soft_name
显示使用brew安装的软件列表
bash1
brew list
更新软件
zsh1
brew upgrade // 更新所有使用brew安装的软件
2
brew upgrade soft_name // 更新soft_name
查看哪些软件需要更新
zsh1
brew outdated
查找软件
zsh1
// 当记不清软件的名字的时候,可以使用search,只需要写出几个字母,就可以联想所有的结果并且输出
2
brew search
查找使用brew安装的东西,安装在哪里
zsh1
brew --cache
安装mongodb
因为已经安装了brew,所以通过brew安装mongodb:
1 | brew install mongodb |
安装成功
输入mongo
启动,会发现并没有成功
这是因为没有创建mongo的默认数据写入目录,需要自己手动创建
创建默认数据写入目录
注:默认目录为根目录下的data/db
1 | mkdir -p /data/db |
然后给刚刚创建的目录赋予可读写的权限
1 | chown `id -u` /data/db |
注:如果不使用命令行修改权限,可以前往/data文件夹右键点击显示简介,选择最下面的共享与权限,把所有权限改成读与写
如果不想使用mongo的默认目录,可以自己更改,使用--dbpath
参数
1 | mongo --dbpath dir_name |
现在可以放心的启动mongodb了
1 | mongod |
然后再开启一个新的终端,执行
1 | mongo |
要先执行
mongod
再执行mongo
,出现箭头表示链接成功
数据库错误
如果数据库启动不了,可能是由于未正常关闭导致的,可以删除/data/db
文件夹中的mongod.lock
文件,然后重新启动,如果还不可以,可以查杀一下进程:
1 | ps -aef | grep mongo |
然后根据进程ID杀掉进程,最后重启mongodb
MongoDB常用命令
1、查询库、查询表
1 | show dbs //查询所有的数据库 |
2 | |
3 | show collections //查询当前数据库下的所有数据表123 |
2、建库和删库
1 | use myDbs //建立一个名为myDbs的数据库,当这个库存在时则是切换到这个数据库中去 |
2 | |
3 | use myDbs |
4 | |
5 | db.dropDatabase(); //这两句是删除这个数据库12345 |
3、建表和删表
1 | //表操作都是要先到一个数据库中去,通过use方法 |
2 | db.myTable.insert({name:’hf’,age:20}); //在mongodb中在插入数据时即创建了改表,此时创建的是名为myTable的数据表 |
3 | db.myTable.drop(); //删除myTable这个数据表 |
4 | //如果没有指定数据库,表会创建在mongdb默认数据库test里1234 |
4、单表的增删改
1 | db.myTable.insert({name:’hahaha’,age:12}); //新增 |
2 | |
3 | db.myTable.update({name:’hf’},{$set:{age:25}}) //修改 |
4 | |
5 | db.myTable.remove({name:’hf'}); //删除12345 |
5、查询
1 | db.myTable.find(); //查询myTable中的所有数据 |
2 | |
3 | db.myTable.find().sort({age:1}) //根据age升续 |
4 | |
5 | db.myTable.find().count(); //查询 |