linux mongodb安装和配置启动图文详解
一.前期准备
- Win10环境下 官网下载Mongodb包 https://www.mongodb.com/download-center?jmp=nav
本文使用 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.6.2.tgz - 上传mongodb包至linux服务器
具体放置到目录:/opt/software
二.mongodb安装和配置
解压和复制mongodb至目录 /usr/local/mongodb
cd /opt/software
tar -zxvf mongodb-linux-x86_64-amazon-3.6.2.tgz
cp -r mongodb-linux-x86_64-amazon-3.6.2 /usr/local/mongodb
2.1 系统profile配置
vi /etc/profile
export MONGODB_HOME=/usr/local/mongodb
export PATH=$PATH:$MONGODB_HOME/bin
保存后,重启系统配置
source /etc/profile
终端查看输入$PATH 是否有全局
2.2 mongodb启动配置
vi /etc/mongodb.conf
--新建配置文件 目录可以定义
拷贝份 官方配置
storage:
dbPath: /data/mongodb/data/db #n你的数据库目录 需要自己建
journal:
enabled: true
# engine:
# mmapv1:
# wiredTiger:
# how the process runs
processManagement:
fork: true # fork and run in background
# pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile
# timeZoneInfo: /usr/share/zoneinfo
# network interfaces
net:
port: 27017
bindIpAll: true #所有ip都可以 方便远程访问
# bindIp: 127.0.0.1 #to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting.
security:
authorization: disabled #disabled enabled 启用密码 默认为disabled 因为没有root账号
按个人喜好修改配置 并且保存
三.mongodb测试
3.1 启动mongod数据库服务
mongod -f /etc/mongodb.conf
--这里的conf文件是相对路径 如果不在bin目录下 请输入绝对
3.2 进入mongodb数据库
mongo
如打印信息说明成功 pidof mongod
可以验证 或者top看
3.3 插入1个数据
use lalala
db.test.insert({title:'哈哈',Tags:['anime','game']});
show collections
db.test.find()
show dbs
-- 只有有东西才显示 默认test没东西所以你看不到
四 建立root账号
mongo 默认谁都可以访问修改 但只有本地 所以我们要配置下
use 哪个就是用哪个数据库 没有就新建 mongo默认会生成一些数据库 如 admin ,config
show dbs
-- 看看有哪些数据库
use admin
db.createUser({user:"root",pwd:"123456",roles:["root","userAdminAnyDatabase"]})
-- 建立root并且分配角色
db.system.users.find()
-- 查看系统的用户
如果有了就exit 出去 在mongodb.conf里 authorization为enabled
mongod --shutdown -f /etc/mongodb.conf
--关闭服务
mongod -f /etc/mongodb.conf
--开启服务
show dbs
- 报错 不可以以匿名方式显示
use admin
db.auth("root","123456")
-- 注意引号 他是个字符串
返回1 说明身份通过你的身份就是root
use nana
-- 以root的身份建立个nana数据库
db.createUser({user:'admin',pwd:'123456', roles: [ "readWrite", "dbAdmin" ]})
-- 为nana创建个管理员用户admin
show users
-- 看用户
db.logout()
-- 登出root 或者exit
db.websize.insert({title:'哈哈',Tags:['anime','game']});
-- 没权限
db.auth("admin","123456")
-- 用nana的admin
db.websize.insert({title:'dorodoroLab',Tags:['dorodro','lab']});
-- 这次有权限
db.websize.find()
--插入成功
这里要注意的是 createUser 根据 use在哪个数据库 show users信息就生成在哪 不然通过db.auth可能找不到 下面命令也一样
db.grantRolesToUser( "admin" , [ "readWrite", "dbAdmin","useAdmin" ])
-- 用户新授权 也可以用db.updateUser
db.dropUser('admin')
--删除用户
root用户可以使用admin全局管理用户 通过db.system.users.find()
db.system.users.remove()
等
如果懒的记请用db.help()
去看
五.mongodb开机启动
5.1设置mongodb.service启动服务
cd /lib/systemd/system
vi mongodb.service
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
RuntimeDirectory=mongodb
RuntimeDirectoryMode=0751
PIDFile=/var/run/mongodb/mongod.pid
ExecStart=/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/bin/mongodb.conf
ExecStop=/usr/local/mongodb/bin/mongod --shutdown --config /usr/local/mongodb/bin/mongodb.conf
PrivateTmp=false
[Install]
WantedBy=multi-user.target
5.2 设置mongodb.service权限
chmod 754 mongodb.service
systemctl daemon-reload
5.3 系统mongodb.service操作命令
启动服务
systemctl start mongodb.service
关闭服务
systemctl stop mongodb.service
开机启动
systemctl enable mongodb.service
5.4 mongodb.service启动测试
mongo 127.0.0.1
如果主机连虚拟机 请不要用bindIp的默认的localhost ,另外防火墙打开27017端口 这样客户端可以连接
客户端工具 Robo 3T
官方文档
权限文档
本文为博主原创文章,转载请注明出自 博客园蓝波大人 并保留本文有效链接 ,转载请保留本声明!谢谢