用python安装mongodb

本文涉及的产品
云数据库 MongoDB,独享型 2核8GB
推荐场景:
构建全方位客户视图
日志服务 SLS,月写入数据量 50GB 1个月
简介: 用python安装mongodb

之前写过mongodb的shell一键安装脚本,今日分享一下python的脚本。此脚本是离线环境下去安装5.0.8版本。

#!/usr/bin/python

# -*- coding: UTF-8 -*-

import os

import time

def install():

   """

   安装Mongodb

   过程:

       1、解压

       tar -zxvf mongodb-linux-x86_64-rhel70-5.0.8.tgz

       2、修改文件夹名字

       3、添加环境变量

       4、创建所有目录

       mkdir -p /data/mongodb/{db,logs,conf}

       5、创建配置文件

       6、启动

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

   :return:

   """

   os.system("tar -zxvf ./mongodb-linux-x86_64-rhel70-5.0.8.tgz -C /usr/local/")

   os.system("mv /usr/local/mongodb-linux-x86_64-rhel70-5.0.8/ /usr/local/mongo")

   with open("/etc/profile.d/mongo.sh", "w+") as path_file:

       lines = [

           "export PATH=$PATH:/usr/local/mongo/bin\n"

       ]

       path_file.writelines(lines)

   os.system("mkdir -p /data/mongodb/{db,logs,conf}")

   with open("/data/mongodb/conf/mongodb.conf", "w+") as config_file:

       context = '''

# 数据存放目录

dbpath=/data/mongodb/db

# 存放日志路径, 要先把目录新建好

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

# 布尔值, 是否追加方式记录日志

logappend=true

# mongodb绑定的ip地址,127.0.0.1只允许本机访问,如果想让其他主机能访问请修改为0.0.0.0

bind_ip=0.0.0.0

# 端口号,默认为27017

port=27017

# 设置oplog的大小(MB)

oplogSize=10000

# 以后台方式运行进程

fork=true

# 启用日志文件,默认启用,生产环境强烈推荐打开

journal=true

       '''

       config_file.write(context)

   os.environ['PATH'] = '%s:%s' % (os.environ['PATH'], '/usr/local/mongo/bin')

   os.system("mongod --config /data/mongodb/conf/mongodb.conf")

def detect():

   """

   检测是否安装成功

   :return:

   """

   time.sleep(5)

   return True if os.popen("ps -ef|grep mongo").read().find(

       "mongod") > 0 else False

def prompt_fail():

   """

   安装失败后提示

   :return:

   """

   print """

   \033[5;31;40m 很抱歉安装失败 \033[0m

   """

def prompt_success():

   """

   安装成功后提示

   :return:

   """

   print """

   \033[5;32;40m 恭喜mongo-5.0.8-linux安装成功! \033[0m

   使用前注意:

       执行: source /etc/profile 或【重新登录当前服务器】来重新加载环境变量

   安装路径:/usr/local/mongo

   环境变量配置:/etc/profile.d/mongo.sh

   启动命令: mongod --config /data/mongodb/conf/mongodb.conf

   停止命令:mongod --config /data/mongodb/conf/mongodb.conf --shutdown

   端口号:27017

   数据存放目录:/data/mongodb/db

   存放日志路径: /data/mongodb/logs/mongodb.log

   """

if __name__ == '__main__':

   install()

   if detect():

       prompt_success()

   else:

       prompt_fail()

说明:我们只需要把脚本和安装包上传至同目录下,再赋予执行X权限直接执行脚本即可。

为了保障数据库安全,我们在安装成功后须开启认证,必选先添加用户,配置文件中添加auth=true。

具体操作如下

添加用户、安全认证

首先必须使用admin数据库,进行新用户授权。

MongoDB副本集默认会创建local、admin数据库,local数据库主要存储副本集的元数据,admin数据库则主要存储MongoDB的用户、角色等信息。

输入以下命令:

db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})

授权成功后,关闭mongo服务:

mongod --config /data/mongodb/conf/mongodb.conf --shutdown

查看mongo服务进程,可看到服务已经成功停掉了。

然后需要到配置文件中修改配置,启用安全认证。

#开启认证,必选先添加用户

auth=true

最后开启mongo服务,进入数据库测试:

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

show dbs此时看不到任何数据库,说明我们的安全认证用户配置生效了。

首先使用use admin通过db.auth(‘root’,‘密码’) 输出1就是验证成功。

use admin

db.auth('root','123456')

在日常的运维过程中需要注意的几点是部署须采用非管理员权限,修改默认端口,且日常巡检创建只读的巡检账号即可,明天会分享这几点操作。

相关实践学习
MongoDB数据库入门
MongoDB数据库入门实验。
快速掌握 MongoDB 数据库
本课程主要讲解MongoDB数据库的基本知识,包括MongoDB数据库的安装、配置、服务的启动、数据的CRUD操作函数使用、MongoDB索引的使用(唯一索引、地理索引、过期索引、全文索引等)、MapReduce操作实现、用户管理、Java对MongoDB的操作支持(基于2.x驱动与3.x驱动的完全讲解)。 通过学习此课程,读者将具备MongoDB数据库的开发能力,并且能够使用MongoDB进行项目开发。   相关的阿里云产品:云数据库 MongoDB版 云数据库MongoDB版支持ReplicaSet和Sharding两种部署架构,具备安全审计,时间点备份等多项企业能力。在互联网、物联网、游戏、金融等领域被广泛采用。 云数据库MongoDB版(ApsaraDB for MongoDB)完全兼容MongoDB协议,基于飞天分布式系统和高可靠存储引擎,提供多节点高可用架构、弹性扩容、容灾、备份回滚、性能优化等解决方案。 产品详情: https://www.aliyun.com/product/mongodb
相关文章
|
1月前
|
PyTorch Linux 算法框架/工具
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
这篇文章是关于如何使用Anaconda进行Python环境管理,包括下载、安装、配置环境变量、创建多版本Python环境、安装PyTorch以及使用Jupyter Notebook的详细指南。
249 1
pytorch学习一:Anaconda下载、安装、配置环境变量。anaconda创建多版本python环境。安装 pytorch。
|
1月前
|
XML 数据格式 Python
Python实用记录(五):labelImg安装和使用-----看这篇就够了!
这篇文章介绍了在Windows 10系统中使用Anaconda3安装labelImg工具的方法,包括通过pip安装相关包和从GitHub下载配置,以及一些使用技巧,如修改预定义类别和自动保存功能。
180 3
|
1月前
|
网络协议 Java Linux
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
本文介绍了PyAV库,它是FFmpeg的Python绑定,提供了底层库的全部功能和控制。文章详细讲解了PyAV的安装过程,包括在Windows、Linux和ARM平台上的安装步骤,以及安装中可能遇到的错误和解决方法。此外,还解释了时间戳的概念,包括RTP、NTP、PTS和DTS,并提供了Python代码示例,展示如何获取RTSP流中的各种时间戳。最后,文章还提供了一些附录,包括Python通过NTP同步获取时间的方法和使用PyAV访问网络视频流的技巧。
183 4
PyAV学习笔记(一):PyAV简介、安装、基础操作、python获取RTSP(海康)的各种时间戳(rtp、dts、pts)
|
1月前
|
NoSQL Ubuntu Linux
Linux平台安装MongoDB
10月更文挑战第11天
31 5
|
1月前
|
NoSQL Shell MongoDB
Mac OSX 平台安装 MongoDB
10月更文挑战第11天
20 4
|
7天前
|
存储 NoSQL 网络协议
【赵渝强老师】MongoDB的安装与访问
本文介绍了在Linux系统上安装和部署MongoDB的详细步骤,包括安装依赖包、解压安装包、配置环境变量、创建数据目录及启动服务等。文中还提供了相关命令示例和注意事项,帮助用户顺利完成MongoDB的安装与配置。
|
1月前
|
Python
Python 三方库下载安装
Python 三方库下载安装
28 1
|
1月前
|
NoSQL Shell MongoDB
Windows 平台安装 MongoDB
10月更文挑战第10天
40 0
Windows 平台安装 MongoDB
|
1月前
|
机器学习/深度学习 缓存 PyTorch
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
这篇文章是关于如何下载、安装和配置Miniconda,以及如何使用Miniconda创建和管理Python环境的详细指南。
349 0
pytorch学习一(扩展篇):miniconda下载、安装、配置环境变量。miniconda创建多版本python环境。整理常用命令(亲测ok)
|
1月前
|
Python
Jetson环境安装(二):ubuntu18.0卸载和安装python3
在Jetson Nano上如何卸载Python 3.7并重新安装Python 3.7.0版本的详细步骤,包括卸载命令、安装依赖库、下载和编译Python源码以及建立软链接等。
53 2