Mongodb安装

--------------------------------------------------------------------------------------------------------------------------------

1.下载与 CentOS 系统匹配的 mongodb-linux-x86_64-rhel70-3.4.2.tgz 文件:
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-3.4.2.tgz

2. 解压缩 mongodb-linux-x86_64-rhel70-3.4.2.tgz 文件:
tar -zxvf mongodb-linux-x86_64-rhel70-3.4.2.tgz
解压完成后得到 mongodb-linux-x86_64-rhel70-3.4.2.tgz 文件夹及其所属的文件;

3.重命名 mongodb-linux-x86_64-rhel70-3.4.2.tgz 文件为 mongodb:
mv mongodb-linux-x86_64-rhel70-3.4.2.tgz mongodb

4.创建mongodb文件夹:进入mongodb文件,分别创建conf,logs,data文件

5,进入conf目录创建mongodb.conf文件 vim mongodb.conf

在 mongodb.conf 写入如下内容:

# 设置数据文件的存放目录
dbpath = /usr/cboy/mongodb/data

# 设置日志文件的存放目录及其日志文件名
logpath = /usr/cboy/mongodb/logs/mongodb.log

# 设置端口号(默认的端口号是 27017)
port = 27017

# 设置为以守护进程的方式运行,即在后台运行
fork = true

# nohttpinterface = true
nohttpinterface = true

参数解释: 
--dbpath 数据库路径(数据文件)
--logpath 日志文件路径
--master 指定为主机器
--slave 指定为从机器
--source 指定主机器的IP地址
--pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
--logappend 日志文件末尾添加,即使用追加的方式写日志
--journal 启用日志
--port 启用端口号
--fork 在后台运行
--only 指定只复制哪一个数据库
--slavedelay 指从复制检测的时间间隔
--auth 是否需要验证权限登录(用户名和密码)
--syncdelay 数据写入硬盘的时间(秒),0是不等待,直接写入
--notablescan 不允许表扫描
--maxConns 最大的并发连接数,默认2000  
--pidfilepath 指定进程文件,不指定则不产生进程文件
--bind_ip 绑定IP,绑定后只能绑定的IP访问服务

6.以自定义的 mongodb 配置文件方式启动:
./mongod -f /usr/cboy/mongodb/conf/mongodb.conf

7.查看 mongodb 进程:
ps aux |grep mongodb

8.检查端口是否已被启动:
netstat -lanp | grep 27017

杀死 mongodb 进程,即可关闭 mongodb 服务:
kill -15 PID

解决启动警告问题:

Server has startup warnings: 
2017-03-07T05:32:03.285+0800 I CONTROL  [initandlisten] 
2017-03-07T05:32:03.285+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-03-07T05:32:03.285+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-03-07T05:32:03.285+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-03-07T05:32:03.285+0800 I CONTROL  [initandlisten] 
2017-03-07T05:32:03.285+0800 I CONTROL  [initandlisten] 
2017-03-07T05:32:03.285+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2017-03-07T05:32:03.285+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-03-07T05:32:03.285+0800 I CONTROL  [initandlisten] 
2017-03-07T05:32:03.285+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2017-03-07T05:32:03.285+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'

解决后两个警告:
1、  hugepage
消耗大内存,关闭方法:
echo never >/sys/kernel/mm/transparent_hugepage/enabled
echo never >/sys/kernel/mm/transparent_hugepage/defrag

查看配置后的
cat /sys/kernel/mm/transparent_hugepage/enabled
always madvise [never]
已经是never
那么大内存是什么?没有swap,块表的负载减轻。但是很多配置都需要手动的配置,在mongodb中非常的不推荐。占用的内存过大。有一个非常值得注意的地方,在3.0以上cache的size是默认的一半的系统内存。一旦你尝试在一台电脑中运行两个shard的时候,内存分分钟会爆了

--------------------------------------------------------------------------------------------------------------------------------

php mongodb 扩展安装:

首先下载最新的php mongodb扩展源码,源码可以在http://pecl.php.net/package/mongodb下载到 

wget http://pecl.php.net/package/mongodb/mongodb-1.2.5.tgz

tar zxvf mongodb-1.2.5.tgz
cd mongodb-1.2.5.tgz

进入文件夹后,首先运行phpize来准备编译扩展的环境,phpize这个程序的介绍在这里

/usr/cboy/php7/bin/phpize

运行后,./configure 脚本就会生成了,这个时候我们运行./configure脚本来进行配置

./configure --with-php-config=/usr/cboy/php7/bin/php-config

--with-php-config这个参数是告诉配置脚本php-config这个程序的路径

这时用make来编译扩展
make && make install

正确编译执行结果如下:

Build complete.

Don't forget to run 'make test'.

完成后,请编辑你php.ini文件增加一行
extension=mongodb.so
一般默认的编译php的ini文件在
/usr/cboy/php7/etc/php.ini
重启你的web服务器或者php-fpm,打印phpinfo,如果看到mongodb项表,那么mongodb的扩展安装成功了

注意:/usr/cboy/是我的PHP安装路径,
mongo扩展库已经被废弃,而且不支持PHP7,mongodb扩展库支持PHP7

--------------------------------------------------------------------------------------------------------------------------------











基于数据挖掘的音乐推荐系统设计与实现 需要一个代码说明,不需要论文 采用python语言,django框架,mysql数据库开发 编程环境:pycharm,mysql8.0 系统分为前台+后台模式开发 网站前台: 用户注册, 登录 搜索音乐,音乐欣赏(可以在线进行播放) 用户登陆时选择相关感兴趣的音乐风格 音乐收藏 音乐推荐算法:(重点) 本课题需要大量用户行为(如播放记录、收藏列表)、音乐特征(如音频特征、歌曲元数据)等数据 (1)根据用户之间相似性或关联性,给一个用户推荐与其相似或有关联的其他用户所感兴趣的音乐; (2)根据音乐之间的相似性或关联性,给一个用户推荐与其感兴趣的音乐相似或有关联的其他音乐。 基于用户的推荐和基于物品的推荐 其中基于用户的推荐是基于用户的相似度找出相似相似用户,然后向目标用户推荐其相似用户喜欢的东西(和你类似的人也喜欢**东西); 而基于物品的推荐是基于物品的相似度找出相似的物品做推荐(喜欢该音乐的人还喜欢了**音乐); 管理员 管理员信息管理 注册用户管理,审核 音乐爬虫(爬虫方式爬取网站音乐数据) 音乐信息管理(上传歌曲MP3,以便前台播放) 音乐收藏管理 用户 用户资料修改 我的音乐收藏 完整前后端源码,部署后可正常运行! 环境说明 开发语言:python后端 python版本:3.7 数据库:mysql 5.7+ 数据库工具:Navicat11+ 开发软件:pycharm
MPU6050是一款广泛应用在无人机、机器人和运动设备中的六轴姿态传感器,它集成了三轴陀螺仪和三轴加速度计。这款传感器能够实时监测并提供设备的角速度和线性加速度数据,对于理解物体的动态运动状态至关重要。在Arduino平台上,通过特定的库文件可以方便地与MPU6050进行通信,获取并解析传感器数据。 `MPU6050.cpp`和`MPU6050.h`是Arduino库的关键组成部分。`MPU6050.h`是头文件,包含了定义传感器接口和函数声明。它定义了类`MPU6050`,该类包含了初始化传感器、读取数据等方法。例如,`begin()`函数用于设置传感器的工作模式和I2C地址,`getAcceleration()`和`getGyroscope()`则分别用于获取加速度和角速度数据。 在Arduino项目中,首先需要包含`MPU6050.h`头文件,然后创建`MPU6050`对象,并调用`begin()`函数初始化传感器。之后,可以通过循环调用`getAcceleration()`和`getGyroscope()`来不断更新传感器读数。为了处理这些原始数据,通常还需要进行校准和滤波,以消除噪声和漂移。 I2C通信协议是MPU6050与Arduino交互的基础,它是一种低引脚数的串行通信协议,允许多个设备共享一对数据线。Arduino板上的Wire库提供了I2C通信的底层支持,使得用户无需深入了解通信细节,就能方便地与MPU6050交互。 MPU6050传感器的数据包括加速度(X、Y、Z轴)和角速度(同样为X、Y、Z轴)。加速度数据可以用来计算物体的静态位置和动态运动,而角速度数据则能反映物体转动的速度。结合这两个数据,可以进一步计算出物体的姿态(如角度和角速度变化)。 在嵌入式开发领域,特别是使用STM32微控制器时,也可以找到类似的库来驱动MPU6050。STM32通常具有更强大的处理能力和更多的GPIO口,可以实现更复杂的控制算法。然而,基本的传感器操作流程和数据处理原理与Arduino平台相似。 在实际应用中,除了基本的传感器读取,还可能涉及到温度补偿、低功耗模式设置、DMP(数字运动处理器)功能的利用等高级特性。DMP可以帮助处理传感器数据,实现更高级的运动估计,减轻主控制器的计算负担。 MPU6050是一个强大的六轴传感器,广泛应用于各种需要实时运动追踪的项目中。通过 Arduino 或 STM32 的库文件,开发者可以轻松地与传感器交互,获取并处理数据,实现各种创新应用。博客和其他开源资源是学习和解决问题的重要途径,通过这些资源,开发者可以获得关于MPU6050的详细信息和实践指南
### MongoDB 安装教程 MongoDB 是一种流行的 NoSQL 数据库,支持跨平台操作。以下是针对不同操作系统安装 MongoDB 的方法。 #### Linux 系统上的 MongoDB 安装 对于基于 Debian 或 Ubuntu 的系统,可以按照以下方式完成安装: 1. 导入公钥并配置软件源列表文件: ```bash wget -qO - https://www.mongodb.org/static/pgp/server-6.0.asc | sudo apt-key add - echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list ``` 2. 更新包管理器缓存并安装 MongoDB: ```bash sudo apt-get update sudo apt-get install -y mongodb-org ``` 启动服务并通过 systemctl 命令设置开机自启[^1]。 #### Windows 系统上的 MongoDB 安装 下载官方 MSI 文件后双击运行即可完成图形化安装过程。推荐访问官方网站获取最新版本链接地址[^2]。 需要注意的是,在生产环境中部署时还需要考虑更多因素比如安全性配置等细节问题[^3]。 #### macOS 上通过 Homebrew 安装 MongoDB 如果已经安装了 Homebrew,则可以通过命令行快速完成整个流程: ```bash brew tap mongodb/brew brew install mongodb-community@6.0 ``` 之后同样要记得初始化数据目录以及开启守护进程来保持后台持续运行状态[^4]。 ```python import pymongo client = pymongo.MongoClient("mongodb://localhost:27017/") db_list = client.list_database_names() print(db_list) ``` 以上代码片段展示了如何利用 Python 驱动程序连接本地实例并列举所有可用数据库名称作为验证手段之一[^5]。 相关问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值