Linux| MacOs下载配置Mongo


首先,因为最近 mongodb 有了自己的镜像源地址, 所以我们不能直接安装

需要在终端修改一下 homebrew 安装 mongodb 的镜像源地址
打开终端
输入指令
brew tap mongodb/brew
接下来, 就是正式的安装换节了

打开终端
输入指令
brew install [email protected]
等待一段时间, mongodb 就会自动安装完成
我这里选择的是安装 4.0 版本, 最近不建议装 4.2 的最新版本, 因为坑太多了
最后, 我们就要知道安装到了那里, 因为后期配置环境变量的时候需要用到

使用 homebrew 安装 mongodb 会自动安装到 /usr/local/Celler 的目录下
会有一个叫做 mongodbxxxx 很长的名字的文件夹
因为名字太长了, 我们直接改名叫做 mongodb 就就可以
mongodb 就被安装在了这里

 或者这个安装方式
 https://www.runoob.com/mongodb/mongodb-osx-install.html


最重要的环境配置问题:

打开终端
输入指令, 打开环境变量配置文件
$ open .bash_profile
此时会打开一个文本编辑窗口, 有的同学里面有内容, 有的同学里面没有内容
都不影响,我们在最后加上一行代码
export PATH=${PATH}:你mongodb的路径
注意, 路径是一直到 bin 目录的路径地址
写完以后保存关闭就行
终端继续输入指令, 让刚才的环境变量生效
$ source .bash_profile
到这里, 环境变量就配置完毕了

再之后, 我们需要手动创建一个数据库文件夹, 因为 mongodb 不会自动创建

打开终端
输入指令, 创建一个 /data/db 文件夹
$ sudo mkdir /data/db
因为需要创建的根目录, 所以需要 sudo 权限
再次输入指令, 给这个文件夹一个读写权限
$ sudo chown -R 你的用户名 /data/db
这个时候, 文件夹就准备好了, 接下来就可以使用 mongodb 数据库了
注意:
创建的文件夹必须是 /data/db
文件夹必须直接创建再根目录
别的不是不行, 需要单独设置 mongodb 的配置文件, 这些都是默认的情况
启动数据库
都安装完毕了, 环境变量也配置好了, 总要启动看一下, 不然没有成就感

打开终端

输入指令, 启动数据库(因为配置了环境变量, 终端目录就无所谓了)

 $ mongod
来到下图的指令等待状态, 就是启动成功了


再之后, 我们需要手动创建一个数据库文件夹, 因为 mongodb 不会自动创建

打开终端
输入指令, 创建一个 /data/db 文件夹
$ sudo mkdir /data/db
因为需要创建的根目录, 所以需要 sudo 权限
再次输入指令, 给这个文件夹一个读写权限
$ sudo chown -R 你的用户名 /data/db
这个时候, 文件夹就准备好了, 接下来就可以使用 mongodb 数据库了
注意:
创建的文件夹必须是 /data/db
文件夹必须直接创建再根目录
别的不是不行, 需要单独设置 mongodb 的配置文件, 这些都是默认的情况
启动数据库
都安装完毕了, 环境变量也配置好了, 总要启动看一下, 不然没有成就感

打开终端

输入指令, 启动数据库(因为配置了环境变量, 终端目录就无所谓了)

 $ mongod
来到下图的指令等待状态, 就是启动成功了




个人Mongo启动命令
mongod --config /usr/local/mongodb/mongodb.conf
可以在主目录使用mongo 进入数据库
mongodb.conf 设置
dbpath= /home/mongodb/data
logpath= /usr/local/mongodb/mongodb.log
logappend=true
#后台运行
fork=true
maxConns=100
noauth=true
journal=true
storageEngine=wiredTiger
bind_ip = 0.0.0.0


PM2 服务
pm2 start all  已经暂停了的
pm2 stop 0  暂停0服务
pm2 start server.js 启动不存在的服务
pm2 delete 0  0是id 

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.2.tgz
tar -zxvf mongodb-linux-x86_64-3.6.2.tgz
mv mongodb-linux-x86_64-3.6.2 /usr/local/mongodb
cd /usr/local/mongodb
mkdir data
mkdir data/db
mkdir data/logs
cd bin/
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/data/logs/mongodb.log --fork --启动mongodb
ps aux |grep mongodb --查看mongodb进程
kill -15 PID --关闭mongodb服务
netstat -lanp | grep 27017 --检查端口是否已被启动
另一种配置文件启动方式
mkdir /usr/local/mongodb/conf
cd /usr/local/mongodb/conf
vim mongodb.conf
   dbpath=/usr/local/mongodb/data/db
   logpath=/usr/local/mongodb/data/logs/mongodb.log#这个要指定文件
   fork=true
   logappend=true#日志追加
   port=27017
   auth=true
   bind_ip=0.0.0.0#远程连接要指定ip 不然无法连接。0.0.0.0不限制ip访问,并开启对应端口
warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
可以采用如下两种方式解决:
1:若数据库出现如上不能连接的原因,可能是data目录下的mongod.lock文件问题,可以用如下命令修复:
./bin/mongod --repair
2:或者直接删除mongod.lock
rm -f /usr/local/mongodb/data/db/mongod.lock  
然后再启动 mongodb 服务:
./mongod --config mongodb.conf
如果以上两部依然解决不掉,则是路径文件,我们可以删除 /usr/local/mongodb/mongodb3.2.4/bin/data 目录及其子目录,并采用绝对路径的方式:
./mongod /usr/local/mongodb/mongodb3.2.4/bin/mongod --dbpath=/usr/local/mongodb/mongodb3.2.4/bin/data/test/db --logpath=/usr/local/mongodb/mongodb3.2.4/bin/data/test/logs/mongodb.log --fork

参数解释: 
--dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加,即使用追加的方式写日志
--journal 启用日志
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)
--syncdelay 数据写入硬盘的时间(秒),0是不等待,直接写入
--notablescan 不允许表扫描
--maxConns 最大的并发连接数,默认2000  
--pidfilepath 指定进程文件,不指定则不产生进程文件
--bind_ip 绑定IP,绑定后只能绑定的IP访问服务
开机启动

vim /lib/systemd/system/mongodb.service

内容如下

 [Unit]
     Description=mongodb
     After=network.target remote-fs.target nss-lookup.target
 [Service]
     Type=forking
     ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf
     ExecReload=/bin/kill -s HUP $MAINPID
     ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/conf/mongodb.conf
     PrivateTmp=true
  [Install]
    WantedBy=multi-user.target
systemctl 操作参数
# 启动
systemctl start mongodb.service
# 查看状态
systemctl status mongodb.service
# 开机启动
systemctl enable mongodb.service
# 如果mongodb.service配置错误 在更改后记得重新加载文件
systemctl daemon-reload

猜你喜欢

转载自blog.csdn.net/Tom__cy/article/details/106558359
今日推荐