在服务器上配置mongo,并使用python远程连接
Centos7
已配置外网访问,可ping百度
已关闭防火墙,Selinx,详见:
https://github.com/BoolWang/HotLinux
[mongodb-org-3.2]
yum update
vi /etc/yum.repos.d/mongodb-org-3.2.repo
写入:
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc
安装:
sudo yum install mongodb-org
vi /etc/mongod.conf
修改:
net:->bindip:0.0.0.0
添加:
security:authorization: enabled
打开mongo shell:
$ mongo
>use admin
>db.creatUser(
... {
... user:"root",
... pwd:"**********", #密码
... roles:[{role:"userAdminAnyDatabase",db:"admin"}]
... }
... )
测试用户登录,先退出mongo shell:
>quit()
$ mongo -u root -p --authenticationDatabase admin
输入密码即可登录,但root用户没有数据库的操作权限
$ root用户登录
>use admin
>db.creatUser(
... {
... user:"admin",
... pwd:"*********",
... roles:[{role:"readWriteAnyDatabase",db:"admin"}]
... }
... )
使用robomongo连接
安装pymongo:
pip install pymongo
连接测试
import pymongo
myclient = pymongo.MongoClient(host='192.168.43.123', port=27017, username='admin', password='******', authSource='admin')
dblist = myclient.list_database_names()
dblist #即可看到数据库列表