下载安装篇
MongoDB 提供了 linux 各发行版本 64 位的安装包,你可以在官网下载安装包。
下载地址:https://www.mongodb.com/download-center#community
首先:任意目录下 下载mongodb
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.4.10.tgz # 下载
tar -zxvf mongodb-linux-x86_64-rhel62-3.4.10.tgz # 解压
其次: 建立mongodb的文件(我这里选择在/usr/local/下建立)
1) : cd /usr/local
2) : mkdir mongodb
3) : cd mongodb
4): mkdir data
5) : cd data
6) : mkdir db
7) : cd ./..
8): mkdir log
9) : cd log
10): touch logs
11): cd /usr/local/mongodb
12): mkdir mongodb-config
13): cd mongodb-config
14): touch server.conf
以上在/usr/local 创建好mongodb的文件夹,结构为:
/usr/local/
--mongodb
--data
---db : 存放数据文件
--log
--logs : 存放日志文件
--mongodb-config
--server.conf 存放mongodb配置
最后:将解压包移动到指定目录
mv mongodb-linux-x86_64-3.0.6/ /usr/local/mongodb # 将解压包拷贝到指定目录
再设置防火强
1): cd /
2): /sbin/iptables -I INPUT -p tcp --dport 27017 -j ACCEPT
3): /etc/rc.d/init.d/iptables save
4): /etc/init.d/iptables restart
5): /etc/init.d/iptables status
再开启mongodb服务
这里有两种启动方式
a: 直接敲命令
1): cd /usr/local/mongodb/bin
2): ./mongod -dbpath=/usr/local/mongodb/data/db -logpath=/usr/local/mongodb/log/logs --fork
b: 配置文件的方式启动
1): cd/usr/local/mongodb
2):
[root@gitlab mongodb]# vi mongodb-config/server.conf
logpath=/usr/local/mongodb/log/logs
logappend=true
dbpath=/usr/local/mongodb/data/db
fork=true
bind_ip=0.0.0.0
port=27017
参数解释: --dbpath 数据库路径(数据文件)
3): ./bin/mongod -f mongodb-config/server.conf
注意 bind_ip=0.0.0.0 这项设置是为 本地连接远程 做准备
fork参数指定后台运行方式,关闭窗口mongodb服务不停止,false或不写该参数则为窗口模式,必须打开保持窗口打开状态才行。
再通过本地窗口链接
MongoDB默认设置为无权限访问限制,上面我们也没有进行特殊的认证配置,所以可以直接链接
通过命令 : mongo IP地址:端口,即可远程登录服务器了(可以配置mongo的bin目录的环境变量,方便调用客户端程序)
至此,mongodb服务器已经安装配置完毕,并实现了远程访问。
账号权限设置篇
实战应用中,我们一般都会指定MongoDB的账户和权限,提供安全性。
首先,先建立账号 授权
1. 输入命令:show dbs,你会发现它内置有两个数据库,一个名为admin,一个名为local。
2. 输入命令:use admin,你会发现该DB下包含了一个system.user表,呵呵,没错,这个表就等同于MsSql中的用户表,用来存放超级管理员的,那我们就往它里面添加一个超级管理员试试看
3.输入命令:db.createUser({user:"admin",pwd:"123456",roles:[{"role":"userAdminAnyDatabase","db":"admin"}]})
4. 输入命令:show collections,查看该库下所有的表,你会发现,MongoDB并没有提示你输入用户名、密码,那就奇怪了,这是怎么回事呢?在文章最开始提到了,
MongoDB默认设置为无权限访问限制,即然这样,那我们就先把它设置成为需要权限访问限制。
5.修改我们前面配置的mongdb配置文件mongodb.conf
[root@gitlab mongodb]# vi mongodb-config/server.conf
logpath=/usr/local/mongodb/log/logs
logappend=true
dbpath=/usr/local/mongodb/data/db
fork=true
bind_ip=0.0.0.0
port=27017
auth=true #添加这句即为开通账号认证
6.通过命令 ps -ef|grep mongo 查看mongo的进程号,然后kill 9472 ,
重启mongod服务,命令: ./bin/mongod -f mongodb-config/server.conf
7. 远程连接mongo服务器,
切换到admin数据库: use admin
然后输入命令:db.auth('admin','123456'),输出一个结果值为1,说明这个用户匹配上了,如果用户名、密码不对,会输入0
8. 输入命令:show collections,呵呵,结果出来了,到这里,权限设置还只讲到一多半,接着往下讲
9. use mybook 切换到mybook数据库,接下来为该数据库建立账号
db.createUser({user:'test', pwd:'123456',roles:[{role:'readWrite', db:'mybook'}]})
10. 输入ctrl+c,退出之前的账号admin
11.输入命令:db.auth('test','123456'),输出结果1,用户存在,验证成功
12)远程直接访问对应的数据库方式,mongo 192.168.220.128:27017/mybook -u test -p 123456,如下图
当然,也可以先连接到mongo服务器,再切换数据库,最后通过db.auth('用户名',‘密码’) 的方式连接到对应的数据库,如下图
至此,账号分配已经全部完成。
常用命令篇
mongod --repair
show users 显示用户
db 显示当前数据库
db.system.users.find() 显示所有用户
db.auth('username','password') 用户登录
java 调用篇
http://www.runoob.com/mongodb/mongodb-java.html
http://www.yiibai.com/mongodb/mongodb_java.html
参考
http://blog.csdn.net/qq_26677157/article/details/60960333
http://www.cnblogs.com/zengen/archive/2011/04/23/2025722.html
http://www.cnblogs.com/PheonixHkbxoic/p/5665499.html