1、下载
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.9.tgz
2、解压
tar -zxvf mongodb-linux-x86_64-4.0.9.tgz
3、改名,放到目录:/usr/local
mv mongodb-linux-x86_64-4.0.9 /usr/local/mongodb
4、新建必要的文件夹(依次是:数据库 日志 配置文件)
cd /usr/local/mongodb
mkdir data log etc
5、配置环境变量
vim /etc/profile
export PATH=$PATH:/usr/local/mongodb/bin
source /etc/profile
6、查看是否添加
$ echo $PATH
或者做软链
ln -s /usr/local/mongodb/bin/mongo /usr/bin/mongo
vim /usr/local/mongodb/etc/mongodb.conf
# db存放的目录
dbpath=/usr/local/mongodb/data
# 后台启动需要配置日志输出
logpath=/usr/local/mongodb/log/mongodb.log
# 端口
port=27017
#内网访问
bind_ip = 127.0.0.1
#外网访问
bind_ip = 0.0.0.0
# 设置成后台启动
fork=true
journal=false
# 启动服务
mongod --config /usr/local/mongodb/etc/mongodb.conf
# 关闭服务
mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown
or
killall mongod
1、添加用户
# 本地连接
mongo
# 添加用户
> use admin
switched to db admin
> db.createUser({user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]});
# 添加超级用户
> db.createUser({user: "root",pwd: "123456",roles: [ { role: "root", db: "admin" } ]});
# 查看已有用户
> show users
# 删除单个用户
> db.system.users.remove({user:"XXXXXX"})
# 关闭服务
> db.shutdownServer()
use fanyong
db.createUser({user:"fan",pwd:"123456.",roles:[{role:"readWrite",db:"fanyong"}]})
show users // 查看当前库下的用户
show dbs //查询所有数据库
db //当前所在库
db.dropUser('admin') // 删除用户
db.updateUser('admin', {pwd: '654321'}) //修改用户密码
db.auth('admin','654321') // 密码认证
db.dropDatabase() //先切换到指定数据库,然后执行以下命令删除数据库
quit() //退出登录
2、配置文件中添加
vi /usr/local/mongodb/etc/mongodb.conf
# 登录验证
auth=true
# 外网访问
bind_ip = 0.0.0.0
不同版本可能配置不一样
mongod -v
db version v4.0.26
vi etc/mongodb.conf
# 登录验证
security:
authorization: enabled
3、启动
# 本地连接 - 连接时验证
mongo -u username -p password
# 远程连接 - 连接时验证
mongo 127.0.0.1/admin -u username -p password
# 远程连接 - 连接后验证
mongo 127.0.0.1/admin
> use admin
switched to db admin
> db.auth("username", "password")
1
# 修改密码
use admin
db.changeUserPassword('用户','密码')
vim /etc/rc.d/init.d/mongod
start() {
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf
}
stop() {
/usr/local/mongodb/bin/mongod --config /usr/local/mongodb/etc/mongodb.conf --shutdown
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo
$"Usage: $0 {start|stop|restart}"
exit 1
esac
# 更改权限
chmod +x /etc/rc.d/init.d/mongod
# 启动服务
service mongod start
# 关闭服务
service mongod stop
# 查看开启的端口号
iptables -L -n
# 查看端口使用情况
lsof -i:27017
netstat -anop|grep 27017
1、连接本地数据库服务器,端口是默认的。
mongodb://localhost
2、使用用户名fred,密码foobar登录localhost的admin数据库。
mongodb://fred:foobar@localhost
3、使用用户名fred,密码foobar登录localhost的baz数据库
mongodb://fred:foobar@localhost/baz
4、连接 replica pair, 服务器1为example1.com服务器2为example2
mongodb://example1.com:27017,example2.com:27017
5、连接 replica set 三台服务器 (端口 27017, 27018, 和27019)
mongodb://localhost,localhost:27018,localhost:27019
6、连接 replica set 三台服务器, 写入操作应用在主服务器 并且分布查询到从服务器
mongodb://host1,host2,host3/?slaveOk=true
7、直接连接第一个服务器,无论是replica set一部分或者主服务器或者从服务器
mongodb://host1,host2,host3/?connect=direct;slaveOk=true
8、当你的连接服务器有优先级,还需要列出所有服务器,你可以使用上述连接方式
安全模式连接到localhost:
mongodb://localhost/?safe=true
9、以安全模式连接到replica set,并且等待至少两个复制服务器成功写入,超时时间设置为2秒
mongodb://host1,host2,host3/?safe=true;w=2;wtimeoutMS=2000