一、Linux安装配置mongo
1.前往/usr/local目录直接代码wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.7.tgz安装压缩包(也可以前往官网下载,并且上传压缩包安装)。
cd /usr/local/ #切换目录
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.7.tgz #代码直接下载
2.解压,并且重新命名
tar -zxvf mongodb-linux-x86_64-4.0.7.tgz #解压
mv mongodb-linux-x86_64-4.0.7 /usr/local/mongodb #重命名
3.前往mongodb创建文件夹和文件
cd /usr/local/mongodb/
mkdir data
mkdir logs
mkdir etc
touch ./logs/mongodb.log
4.配置vim ./etc/mongodb.conf文件
vim ./etc/mongodb.conf
配置内容如下(按i进行输入,复制完成按Esc退出i,然后输入:wq保存退出)
#数据库路径
dbpath=/usr/local/mongodb/data
#日志输出文件路径
logpath=/usr/local/mongodb/logs/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#允许远程访问
bind_ip=0.0.0.0
#开启子进程
fork=true
#开启认证,必选先添加用户,先不开启(不用验证账号密码)
#auth=true
留意auth=true,这个先不要打开,留着配置自己的密码,配置密码之后会回来的!!!
5.在/etc/profile中配置环境变量,并将export PATH=$PATH:/usr/local/mongodb/bin假如最后一行,然后退出输入source /etc/profile让刚刚的路径生效
vim /etc/profile #打开
export PATH=$PATH:/usr/local/mongodb/bin #加入路径
source /etc/profile #使其生效
6.前往bin目录使用./mongod --config /usr/local/mongodb/etc/mongodb.conf启动服务
cd /usr/local/mongodb/bin
./mongod --config /usr/local/mongodb/etc/mongodb.conf
出现successfully关键词生效
7.在当前的bin目录下输入mongo查看是否生效
mongo
8.输入mongo后出现 > 时,说明成功,接下来,添加密码,下面三行一行一行的输入,注意自己的密码,一定要记住了,后期在Navicat和python代码连接的时候有用!!!
use admin
db
db.createUser({user:"root",pwd:"这个就是你的密码一定要记住",roles:[{role:"root",db:"admin"}]})
9.密码设置好了之后使用db.shutdownServer()关闭服务。
db.shutdownServer()
10.重新打开mongodb.conf,修改上面提到的一个变量
vim /usr/local/mongodb/etc/mongodb.conf
将auth=true的注释打开
#开启认证,必选先添加用户
auth=true
11.去mongodb的bin目录重启服务
./mongod --config /usr/local/mongodb/etc/mongodb.conf
12.启动好了之后,输入mongo,出现 > 时,输入show dbs查看数据库,发现什么都没有,说明刚刚的密码的安全认证弄好了,如果你想看的话,就需要以下命令。
use admin
db.auth('root','刚刚设置的密码')
然后输入show dbs,数据库就用出现了。
13.最后打开防火墙(这里是腾讯云的轻量级服务器,所以服务器的防火墙有自己的界面化配置,也可以自己用linux命令打开)
这样linux配置mongo结束了
二、使用Navicat连接monogo
1.先配置ssh,使用私钥或者密码都可以,下面是使用私钥的。
2.然后配置常规
就结束了。
三、python代码连接mongo.
1.密钥连接(密码连接的话,将ssh_pkey参数换成对应的密码参数就行)
import pymongo
from pymongo import MongoClient
from sshtunnel import SSHTunnelForwarder
def get_mongodb_client():
server = SSHTunnelForwarder(
#这里的两个00.00.00.00是一样的
("00.00.00.00", 22), # 指定ssh登录的跳转机的address,端口号
ssh_username="root", # 跳转机的用户
ssh_pkey=r"C:\...", # 私钥路径
remote_bind_address=('00.00.00.00', 27017) # 指定ssh登录的跳转机的address,mongo端口号
)
server.start()
print(server.local_bind_port)
mongo_address = "127.0.0.1" #相当于常规mongodb地址
mongo_user = 'root' # 访问数据库的用户名
mongo_password = '之前刚刚设置的密码' # 访问数据库的密码
client = pymongo.MongoClient(mongo_address, server.local_bind_port)
db = client.admin
db.authenticate(mongo_user, mongo_password)
return client
if __name__ == "__main__":
mongodb = get_mongodb_client()
print(mongodb)
最后三部曲都完成了。