ubuntu16.04 下安装mongodb3.4.4

环境:

ideal@ideal-PowerEdge-R730xd:~$ cat /etc/issue
Ubuntu 16.04.2 LTS \n \l

看看本机是否有mongodb,有则删除

ideal@ideal-PowerEdge-R730xd:~$ sudo apt-get autoremove --purge mongodb
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Package 'mongodb' is not installed, so not removed
The following packages will be REMOVED:
  javascript-common* libboost-program-options1.58.0* libboost-thread1.58.0* libexpat1-dev* libgoogle-perftools4* libjs-jquery* libmysqlclient20*
  libpcrecpp0v5* libpython-all-dev* libpython-dev* libpython2.7-dev* libsnappy1v5* libtcmalloc-minimal4* libv8-3.14.5* libyaml-cpp0.5v5* mongodb-clients*
  mongodb-server* mysql-common* python-django-common* python-pip-whl* python2.7-dev*
0 upgraded, 0 newly installed, 21 to remove and 88 not upgraded.
After this operation, 259 MB disk space will be freed.
Do you want to continue? [Y/n] y       # 这里输入“y”
(Reading database ... 216448 files and directories currently installed.)

……

接下来就开始安装
1. 导入MongoDB公共GPG密钥

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv 0C49F3730359A14518585931BC711F9BA15703C6
  1. 创建/etc/apt/sources.list.d/mongodb3.4-org 名单列表文件
echo "deb [ arch=amd64,arm64 ] http://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/3.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-3.4.list
  1. 重新加载本地包数据库
    sudo apt-get update
  2. 安装MongoDB包
    sudo apt-get install -y mongodb-org
  3. 我们需要简单配置下,编辑/etc/mongod.conf
ideal@ideal-PowerEdge-R730xd:~$ sudo vim /etc/mongod.conf

mongod.conf 文件如下:

# mongod.conf

# for documentation of all options, see:
#   http://docs.mongodb.org/manual/reference/configuration-options/

# Where and how to store data.
storage:
  dbPath: /var/lib/mongodb            # mongodb的数据存放目录
  journal:
    enabled: true
#  engine:
#  mmapv1:
#  wiredTiger:

# where to write logging data.
systemLog:
  destination: file
  logAppend: true
  path: /var/log/mongodb/mongod.log    # 日志存放目录

# network interfaces
net:
  port: 27017                          # 设置访问端口,默认27017  
  bindIp: 192.168.255.1                # 绑定ip,默认127.0.0.1

#processManagement:

#security:

#operationProfiling:

#replication:

#sharding:

## Enterprise-Only Options:

#auditLog:

#snmp:     

编辑完之后source 一下

ideal@ideal-PowerEdge-R730xd:~$ source /etc/mongod.conf

现在我们的mongodb已经安装成功了, 我们来启动下

ideal@ideal-PowerEdge-R730xd:~$ sudo service mongod start

接着我们看看是否可以打开mongodb shell 客户端:

ideal@ideal-PowerEdge-R730xd:~$ mongo 192.168.255.1:27017
MongoDB shell version v3.4.4
connecting to: 192.168.255.1:27017
MongoDB server version: 3.4.4
Server has startup warnings: 
2017-06-08T10:19:16.241+0800 I CONTROL  [initandlisten] 
2017-06-08T10:19:16.241+0800 I CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2017-06-08T10:19:16.241+0800 I CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2017-06-08T10:19:16.241+0800 I CONTROL  [initandlisten] 
2017-06-08T10:19:16.242+0800 I CONTROL  [initandlisten] 
2017-06-08T10:19:16.242+0800 I CONTROL  [initandlisten] ** WARNING: You are running on a NUMA machine.
2017-06-08T10:19:16.242+0800 I CONTROL  [initandlisten] **          We suggest launching mongod like this to avoid performance problems:
2017-06-08T10:19:16.242+0800 I CONTROL  [initandlisten] **              numactl --interleave=all mongod [other options]
2017-06-08T10:19:16.242+0800 I CONTROL  [initandlisten] 
2017-06-08T10:19:16.242+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2017-06-08T10:19:16.242+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-06-08T10:19:16.242+0800 I CONTROL  [initandlisten] 
> show dbs
admin  0.078GB
local  0.078GB
> 

shell 客户端还可以这样启动:

ideal@ideal-PowerEdge-R730xd:~$ mongo -host 192.168.255.1 -port 27017

介绍几个管理命令吧:
启动mongod 服务:

sudo service mongod start

查看mongod 服务状态:

sudo service mongod status

停止mongod 服务:

sudo service mongod stop

重启mongod 服务:

sudo service mongod restart

卸载mongodb:

sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

这里没有配置帐户和密码,而且只搭了一台,也可以搭一个mongodb集群,设置主从,支持切片操作。这里有以前写的数据导出文章点击此处。本文只是作为笔记。。。

记录一个centos下mongodb的错误:
错误原因是因为我用kill -9 xxxx”杀死了mongodb的进程;重新启动会报如下错误:

[root@crawl ~]# mongod -f /etc/mongod.conf &
[1] 3056
[root@crawl ~]# about to fork child process, waiting until server is ready for connections.
forked process: 3058
ERROR: child process failed, exited with error number 100

我的解决办法就是删除mongod.lock 文件

[root@crawl ~]# locate mongod.lock
/var/lib/mongo/mongod.lock
[root@crawl ~]# cd /var/lib/mongo/
[root@crawl mongo]# ls
journal  local.0  local.ns  mongod.lock  SinaComment3.0  SinaComment3.1  SinaComment3.ns  storage.bson
[root@crawl mongo]# rm mongod.lock 
rm: remove regular file 'mongod.lock'? y
[root@crawl mongo]#

然后重启mongod

[root@crawl mongo]# mongod -f /etc/mongod.conf &
[1] 13140
[root@crawl mongo]# about to fork child process, waiting until server is ready for connections.
forked process: 13143
child process started successfully, parent exiting
^C
[1]+  Done                    mongod -f /etc/mongod.conf
[root@crawl mongo]#

问题以解决,打开mongo shell看看

[root@crawl mongo]# mongo 192.168.255.151:27017
MongoDB shell version: 3.0.14
connecting to: 192.168.100.151:27017/test
Server has startup warnings: 
2017-06-15T10:15:01.737+0800 I CONTROL  [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended.
2017-06-15T10:15:01.737+0800 I CONTROL  [initandlisten] 
2017-06-15T10:15:01.737+0800 I CONTROL  [initandlisten] 
2017-06-15T10:15:01.737+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2017-06-15T10:15:01.737+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-06-15T10:15:01.737+0800 I CONTROL  [initandlisten] 
2017-06-15T10:15:01.737+0800 I CONTROL  [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2017-06-15T10:15:01.737+0800 I CONTROL  [initandlisten] **        We suggest setting it to 'never'
2017-06-15T10:15:01.737+0800 I CONTROL  [initandlisten] 
2017-06-15T10:15:01.737+0800 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 200153 processes, 1024000 files. Number of processes should be at least 512000 : 0.5 times number of files.
2017-06-15T10:15:01.737+0800 I CONTROL  [initandlisten] 
> show dbs
SinaComment3  0.203GB
local         0.078GB
> exit
bye
[root@crawl mongo]

正常关闭mongodb如下:
先通过shell连上服务器:
mongo
use admin
db.shutdownServer()
这种方法必须是有用户认证,否则会报错

或者直接kill -15 ,注意kill -9 可能会导致数据文件损坏

参考文章https://docs.mongodb.com/manual/tutorial/install-mongodb-on-ubuntu/

如有疑问请加qq群:526855734

  • 3
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值