centOS7安装mongdb,linux上安装mongodb

1.下载安装包

wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.6.tgz

下载完成后解压缩压缩包

tar zxf mongodb-linux-x86_64-rhel62-3.4.6.tgz

2. 安装准备

将mongodb文件夹命名为mongdb文件夹

mv mongodb-linux-x86_64-rhel62-3.4.6 mongodb

 

创建数据库文件夹与日志文件

mkdir -p /usr/local/mongodb/data

mkdir -p /usr/local/mongodb/data/db

mkdir -p /usr/local/mongodb/data/logs

touch /usr/local/mongodb/data/logs/mongodb.log

 

3. 启动mongodb

# cd到mongodb目录下的bin文件夹启动mongodb

# //下面这个是需要权限的登录方式, 用户连接需要用户名和密码

# ./mongod --dbpath=/usr/local/mongodb/data --logpath=/home/mongodb/logs --# logappend --auth --port=27017 --fork

# //这个是不需要密码的

# ./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs -# -logappend --port=27017 --fork

# 或者

在data下面创建文件 mongodb.conf

touch mongodb.conf

里面内容为:

port = 27017

dbpath = /usr/local/mongodb/data/db

logpath = /usr/local/mongodb/data/logs/mongodb.log

fork = true

logappend = true

#auth = true

保存完后,回到bin目录下,输入

./mongod --config /usr/local/mongodb/data/mongodb.conf

当前启动方式是不需要用户名和密码的

6,创建用户

进入bin目录下, 输入./mongo 连接到mongodb中,

输入use smb-web(smb-web:为自己创建的项目,需要与下面的项目名对应)

创建用户名,密码和角色。

db.createUser({user:'root',pwd:'smb112233',roles:[{role:'dbOwner',db:'smb-web'}]});

至此,用户和密码已创建完毕。

7,关闭mongodb。

./mongod --shutdown --dbpath /usr/local/mongodb/data/

或者

ps -ef | grep mongo

 

kill -9 端口号

8

修改刚才的mongodb.conf文件,auth=true。 保存。

重启mongodb,再登录到mongodb中,

[root@iZ253cglmsxZ bin]# ./mongo

MongoDB shell version: 3.2.9

connecting to: 127.0.0.1:27017/test

> use smb-web

switched to db travel

> show collections

2016-09-05T16:46:13.013+0800 E QUERY [thread1] Error: listCollections failed: {

"ok" : 0,

"errmsg" : "not authorized on picadb to execute command { listCollections: 1.0, filter: {} }",

"code" : 13} :

_getErrorWithCode@src/mongo/shell/utils.js:25:13

DB.prototype._getCollectionInfosCommand@src/mongo/shell/db.js:773:1

DB.prototype.getCollectionInfos@src/mongo/shell/db.js:785:19

DB.prototype.getCollectionNames@src/mongo/shell/db.js:796:16

shellHelper.show@src/mongo/shell/utils.js:754:9

shellHelper@src/mongo/shell/utils.js:651:15

@(shellhelp2):1:1

> db.auth("root","smb112233")

1

> show collections

 

此时就安装好了mongodb并设置完成数据库的用户名与密码了。

-----------------------------------------------------------------------------------------------------

加权限 chmod -R 777 /home/mongodb/bin

 

查看端口 netstat -ntlp

 

删除mongo.lock文件后执行:修复

/home/mongodb/bin/mongod --repair --dbpath=/home/mongodb/data/db

====================================================================

mongobooster连不上的问题

开放27017端口

那怎么开启一个端口呢

添加

firewall-cmd --zone=public --add-port=80/tcp --permanent (--permanent永久生效,没有此参数重启后失效)

重新载入

firewall-cmd --reload

查看

firewall-cmd --zone= public --query-port=80/tcp

删除

firewall-cmd --zone= public --remove-port=80/tcp --permanent

 

 

主从配置

 

1. 主服务器配置

dbpath=/usr/etc/mongodb/data

logpath=/usr/etc/mongodb/logs/mongodb.log

port=27117

logappend=true

fork=true

bind_ip=0.0.0.0

auth=true

 

#(noauth = true时不用配置此项)

keyFile = /usr/etc/mongodb/mongodb-keyfile

# diaglog选项 0=off 1=W 2=R 3=both 7=W+some reads

#diaglog = 0

# 设置主从服务器

master = true

 

2. 从服务器

port = 27317

dbpath = /home/mongodb-smb/data/db

logpath = /home/mongodb-smb/data/logs/mongodb.log

fork = true

logappend = true

auth = true

 

bind_ip= 0.0.0.0

slave=true

source=39.104.135.112:27117 #主服务器

autoresync=true

keyFile = /home/mongodb-smb/mongodb-keyfile

----------------------------------------------------------------------------------------------------------------------

注意:

  如果使用认证的方式启动服务(auth = true),那么要在主从服务器配置私钥。

// 在一台服务器上生成私钥 openssl rand -base64 745 > mongodb-keyfile // 修改私钥的权限为可读写 chmod 600 mongodb-keyfile // 将私钥拷贝到其余的服务器上 scp mongodb-keyfile root@xxx.xxx.xxx.xxx:/usr/local/mongodb/

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

https://note.youdao.com/share/?id=30c92686c90c7a3fac2226ecc8427867&type=note#/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值