Centos7 安装mongodb记录
为了演示远程安装mongodb,最近腾讯云买的校园云1核2G服务器,价格真实惠,于是买了一台,活动地址,很适合学生哦,不是学生貌似也能体验一年的,小编就用小号体验了。
下载解压
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.6.2.tgz
tar -zxvf mongodb-linux-x86_64-3.6.2.tgz
mv mongodb-linux-x86_64-3.6.2.tgz/ /usr/local/mongodb
cd /usr/local/mongodb
mkdir data
mkdir data/db
mkdir data/logs
cd bin/
/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data/db --logpath=/usr/local/mongodb/data/logs/mongodb.log --fork --启动mongodb
ps aux |grep mongodb --查看mongodb进程
kill -15 PID --关闭mongodb服务
netstat -lanp | grep 27017 --检查端口是否已被启动
另一种配置文件启动方式
mkdir /usr/local/mongodb/conf
cd /usr/local/mongodb/conf
vim mongodb.conf
dbpath=/usr/local/mongodb/data/db
logpath=/usr/local/mongodb/data/logs/mongodb.log#这个要指定文件
fork=true
logappend=true#日志追加
port=27017
auth=true
bind_ip=0.0.0.0#远程连接要指定ip 不然无法连接。0.0.0.0不限制ip访问,并开启对应端口
如果出现如下情况
warning: Failed to connect to 127.0.0.1:27017, reason: errno:111 Connection refused
可以采用如下两种方式解决:
1:若数据库出现如上不能连接的原因,可能是data目录下的mongod.lock文件问题,可以用如下命令修复:
./bin/mongod --repair
2:或者直接删除mongod.lock
rm -f /usr/local/mongodb/data/db/mongod.lock
然后再启动 mongodb 服务:
./mongod --config mongodb.conf
如果以上两部依然解决不掉,则是路径文件,我们可以删除 /usr/local/mongodb/mongodb3.2.4/bin/data 目录及其子目录,并采用绝对路径的方式:
./mongod /usr/local/mongodb/mongodb3.2.4/bin/mongod --dbpath=/usr/local/mongodb/mongodb3.2.4/bin/data/test/db --logpath=/usr/local/mongodb/mongodb3.2.4/bin/data/test/logs/mongodb.log --fork
参数解释:
--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访问服务
开机启动
Centos7 开机启动配置
vim /lib/systemd/system/mongodb.service
内容如下
[Unit]
Description=mongodb
After=network.target remote-fs.target nss-lookup.target
[Service]
Type=forking
ExecStart=/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/conf/mongodb.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/usr/local/mongodb/bin/mongod --shutdown -f /usr/local/mongodb/conf/mongodb.conf
PrivateTmp=true
[Install]
WantedBy=multi-user.target
systemctl 操作参数
# 启动
systemctl start mongodb.service
# 查看状态
systemctl status mongodb.service
# 开机启动
systemctl enable mongodb.service
# 如果mongodb.service配置错误 在更改后记得重新加载文件
systemctl daemon-reload
被 1 篇内容引用
推荐阅读
微信小程序之分享页面如何返回首页
做小程序开发发现,页面分享出去后,用户通过分享进去的页面很难找到返首页的情况。(微信官方操作是点击右上角三个点,在手机下方显示返回首页)。民间很多方案是自己在页面加个悬浮Home标注。今天我分享另外一...
circle赞 2阅读 11.4k评论 7
记一次使用gdb诊断gc问题全过程
上次解决了GC长耗时问题后,系统果然平稳了许多,这是之前的文章《GC耗时高,原因竟是服务流量小?》 然而,过了一段时间,我检查GC日志时,又发现了一个GC问题,如下: 从这个图中可以发现,我们GC有一些尖峰,...
扣钉日记赞 2阅读 1.1k
使用kubeasz部署高可用kubernetes集群
本实验采用kubeasz作为kubernetes环境部署工具,它是一个基于二进制方式部署和利用ansible-playbook实现自动化来快速部署高可用kubernetes集群的工具,详细介绍请查看kubeasz官方。本实验用到的所有虚拟机默认软...
李朝阳赞 4阅读 711
Mongodb 关联表查询
之前使用SQL语法来查询oracle、sqlserver、mysql表之间的关联,但是到mongodb之后完全无从下手,写法完全不一样,于是到网上查询mongodb关联表查询的写法,于是参考代码自己试着写了下,但是发现有好多问题,比如...
Awbeci赞 2阅读 4.1k评论 1
linux中用户登录加载配置文件的过程
shell的类型(站在用户登录登录的角度)登录式shell正常通过某终端登录su - USERNAMEsu -l USERNAME非登录式shellsu USERNAME图形终端下打开命令窗口自动执行的shell脚本用户登录时相关的bash配置文件全局配置文件/...
Dabric阅读 5.3k评论 3
在Linux上查看活跃线程数与连接数
现如今,有两种常见的软件资源几乎成了Java后端程序的标配,即线程池与连接池,但这些池化资源非常的重要,一旦不够用了,就会导致程序阻塞、性能低下,所以有时我们需要看看它们的使用情况,以判断这里是否是瓶颈。
扣钉日记赞 3阅读 975
9个超有用的 Linux Touch 命令实例讲解
touch 命令用于创建空文件,也用于更改 Linux 系统中现有文件的时间戳。这里更改时间戳意味着更新文件和目录的访问和修改时间。命令语法touch {options} {file}语法选项1) 创建一个空文件touch 命令创建一个空文...
鸠摩智首席音效师赞 1阅读 1.7k
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。