1.连接阿里云服务器
连接阿里云服务器较为简单,这里不再赘述!
2.下载mongodb
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.9.tgz
3.解压下载mongodb文件
tar zxvf mongodb-linux-x86_64-3.2.9.tgz
4.将解压过后的包移动到指定目录
mv mongodb-linux-x86_64-3.2.9/ /usr/local/mongodb
5.创建数据文件夹和日志文件等
mkdir -p /usr/local/mongodb/data
touch /usr/local/mongodb/logs
touch /usr/local/mongodb/mongodb.conf
6.启动
(1):第一种启动方式:
##进入mongo的bin目录下:
cd /usr/local/mongodb/bin
##通过参数无权限启动(通过mongodb客户端工具可直接访问)--权限不足的话加上sudo
./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --port=27017 --fork
##通过参数有权限启动--权限不足的话加上sudo
./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs --logappend --auth --port=27017 --fork
###mongodb非法关闭的时候若出现 about to fork child process, waiting until server is ready for connections 那么需要执行:
rm /data/mongodb/mongo.lock 命令 ###权限不足的话加上sudo
###再执行:
./mongod --repair (命令修复) ###权限不足的话加上sudo
(2):第二种启动方式:
###通过配置文件启动 首先进行配置:
vim /usr/local/mongodb/mongodb.conf ###权限不足的话加上sudo
###在配置中加入如下代码:
dbpath=/usr/local/mongodb/data
logpath=/usr/local/mongodb/logs
logappend = true
port = 27017
fork = true
auth = true
###加入后保存退出:
:wq
###进入mongo的bin目录下:
cd /usr/local/mongodb/bin
###再执行:
./mongod --config /usr/local/mongodb/mongodb.conf
###如果执行以上命令出现权限问题则修改权限:
sudo chmod 777 mongodb.conf
7.启动起来之后我们ps看一下有没有当前进程,如果有的话那么就进入到bin目录下直接./mongo进入数据库:
ps aux | grep mongod
进入之后因为没有账户信息,所以需要我们创建一个MongoDB用户,创建命令如下:
# 先进入到管理员下
use admin
# 创建root用户
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
# 验证用户
db.auth("root","123456")
8.停止mongodb
./mongod -shutdown -dbpath=/usr/local/mongodb/data
9.开机启动的配置
##加入开机启动
vim /etc/rc.local
##在最下面加入
/usr/local/mongodb/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/logs --logappend --auth --port=27017 --fork
##或者创建配置文件(编辑mongodb.conf)
dbpath=/usr/local/mongodb/data
port=27017
auth=true
logpath=/usr/local/mongodb/logs
logappend=true
fork=true
##在/lib/systemd/system/目录下新建mongodb.service文件(mongodb.service)
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
##设置权限
chmod 754 mongodb.service
##开机启动
systemctl enable mongodb.service
##启动服务
systemctl start mongodb.service
##关闭服务
systemctl stop mongodb.service
##加入环境变量
vim /etc/profile
#在最后加入
export PATH="/usr/local/mongodb/mongodb/bin:$PATH"
#保存后执行
source /etc/profile
##mongodb导出导入
导出:mongodump -h 127.0.0.1 --port 27017 -u username -p password -d dbName -o D:dbName
导入:mongorestore -h 127.0.0.1 --port 27017 -u username -p password -d dbName --drop D:dbName
##windows下添加mongo启动到windows服务
mongod.exe --auth --config D:mongodbdatamongo.conf --install --serviceName "MongoDB" --journal
##如果忘记超级用户密码,可以先把配置文件的 auth=true 注释,然后重启mongo,之后进入终端用下面命令修改密码
db.changeUserPassword("root","root")