加入收藏 | 设为首页 | 会员中心 | 我要投稿 聊城站长网 (https://www.0635zz.com/)- 智能语音交互、行业智能、AI应用、云计算、5G!
当前位置: 首页 > 服务器 > 系统 > 正文

mongodb在linux下的安装教程

发布时间:2023-10-04 14:43:28 所属栏目:系统 来源:
导读:下载MongoDB

2. 解压文件到某目录下,然后重命名:

[root@localhost var]# tar -xzvf mongodb-linux-x86_64-enterprise-rhel62-3.4.9.tgz

[root@localhost var]# mv mongodb-linux-x86_64-
下载MongoDB
 
2. 解压文件到某目录下,然后重命名:
 
[root@localhost      var]# tar -xzvf mongodb-linux-x86_64-enterprise-rhel62-3.4.9.tgz         
 
[root@localhost var]# mv mongodb-linux-x86_64-enterprise-rhel62-3.4.9      /usr/local/mongodb
 
bin下的mongod就是MongoDB的服务端进程,mongo就是其客户端,其它的命令用于MongoDB的其它用途如MongoDB文件导出等。
 
3. 启动MongoDB.
 
    要先建立好MongoDB 存放数据文件和日志文件的目录,此处建立在/data下:
 
[root@localhost var]# cd /data/db        
 
[root@localhost db]# mkdir mongodb_data
 
[root@localhost db]# mkdir mongodb_log
 
[root@localhost db]# ls   
 
mongodb_data  mongodb_log  
 
   在MongoDB安装目录下的bin下使用mongod启动MongoDB,
 
./mongod --dbpath=/data/db/mongodb_data/ --logpath=/data/db/mongodb_log/mongodb.log --logappend&       
 
等待启动成功后,可查看是否启动成功了,默认端口号是27017,当然在启动时也可以指定未使用的其它端口。
 
  先通过查看端口号看MongoDB是否启动了。
 
[root@localhost /db]# netstat -lanp | grep "27017"  
 
tcp        0      0 0.0.0.0:27017               0.0.0.0:*                   LISTEN           2442/mongod                 
 
unix  2      [ ACC ]     STREAM     LISTENING     18203   2442/mongod         /tmp/mongodb-27017.sock  
 
  可以看到,已启动成功,现在使用mongo客户端访问一下该数据库。
 
[root@localhost      bin]# ./mongo
 
MongoDB shell      version v3.4.9
 
connecting      to: mongodb://127.0.0.1:27017
 
MongoDB      server version: 3.4.9
 
connecting to: test        
 
>   
 
  安装成功
 
4. 额外工作。
 
   把mongod放到服务自启动项中
 
    编辑/etc/rc.d/rc.local,加入下述代码然后再保存即可。
 
   #add mongonDB service   
 
   rm -rf /data/db/mongodb_data/* && /usr/local/mongodb/bin/mongod --dbpath=/data/db/mongodb_data/ --logpath=/data/db/mongodb_log/mongodb.log --logappend&  
 
   我们重启计算机再看MongoDB是否启动,重启后可以直接使用 mongo命令登录,最终发现是可以成功的。
 
   另外,我们使用mongo命令登录 MongoDB还要转到mongo命令所在目录再执行./mongo,这样是不是有些麻烦?因此,我们可以简化这点,将该命令文件copy到/usr/bin下,这样就可以在任何目录下使用mongo命令了。
 
[root@localhost bin]# ls   
 
bsondump  dbbak  mongo  mongod  mongodump  mongoexport  mongofiles  mongoimport  mongorestore  mongos  mongosniff  mongostat        
 
[root@localhost bin]# cp mongo /usr/bin/  
 
     转到任一目录试下mongo命令:
 
[root@localhost bin]# cd /        
 
[root@localhost /]# mongo   
 
MongoDB shell version: 1.8.1        
 
connecting to: test        
 
>   
 
连接数据库(如果test不存在,则直接创建一个test):
 
use test
 
显示数据库:
 
show dbs
 
插入一条记录(切换到指定数据库下之后,需要插入至少一个文档后才会在show dbs中显示数据库名):
 
db.items.insert({"name":"yiibai tutorials"})
 
创建用户和密码(在admin库上):
 
db.createUser({user: "lich",pwd: "goodjob1234",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
 
验证用户权限(返回1则用户存在):
 
db.auth('lich','goodjob1234')
 
查看admin库里面的全部用户:
 
use admin;
 
db.system.users.find();
 
查看所有表:
 
show tables;
 
另外除了以上的默认启动方式,还可以通过配置mongod.conf的方式来启动mongodb(未测试成功)
 
启动MongoDB有2种方式,一种是直接默认启动,另一种是指定配置文件。启动方式如下:
 
1:  /etc/init.d/mongod start 或service mongod start
 
2:  mongod --config /etc/mongodb.conf
 
下面我们看看配置文件:
 
vi /etc/mongod.conf
 
# 日志文件位置
 
logpath=/var/log/mongo/mongod.log
 
# 以追加方式写入日志
 
logappend=true
 
# 是否以守护进程方式运行
 
fork = true
 
# 默认27017
 
#port = 27017
 
# 数据库文件位置
 
dbpath=/var/lib/mongo
 
# 启用定期记录CPU利用率和 I/O 等待
 
#cpu = true
 
# 是否以安全认证方式运行,默认是不认证的非安全方式
 
#noauth = true
 
#auth = true
 
# 详细记录输出
 
#verbose = true
 
# Inspect all client data for validity on receipt (useful for
 
# developing drivers)用于开发驱动程序时验证客户端请求
 
#objcheck = true
 
# Enable db quota management
 
# 启用数据库配额管理
 
#quota = true
 
# 设置oplog记录等级
 
# Set oplogging level where n is
 
#   0=off (default)
 
#   1=W
 
#   2=R
 
#   3=both
 
#   7=W+some reads
 
#diaglog=0
 
# Diagnostic/debugging option 动态调试项
 
#nocursors = true
 
# Ignore query hints 忽略查询提示
 
#nohints = true
 
# 禁用http界面,默认为localhost:28017
 
#nohttpinterface = true
 
# 关闭服务器端脚本,这将极大的限制功能
 
# Turns off server-side scripting.  This will result in greatly limited
 
# functionality
 
#noscripting = true
 
# 关闭扫描表,任何查询将会是扫描失败
 
# Turns off table scans.  Any query that would do a table scan fails.
 
#notablescan = true
 
# 关闭数据文件预分配
 
# Disable data file preallocation.
 
#noprealloc = true
 
# 为新数据库指定.ns文件的大小,单位:MB
 
# Specify .ns file size for new databases.
 
# nssize =
 
# Replication Options 复制选项
 
# in replicated mongo databases, specify the replica set name here
 
#replSet=setname
 
# maximum size in megabytes for replication operation log
 
#oplogSize=1024
 
# path to a key file storing authentication info for connections
 
# between replica set members
 
#指定存储身份验证信息的密钥文件的路径
 
#keyFile=/path/to/keyfile
 
或者使用以下的配置:(可做复制集测试配置,注意端口号和复制集的名称,复制集名称必须都一致)
 
28001.conf
 
bind_ip=192.168.20.144
 
port=28001
 
logpath=/data/db/mongodb_log/28001.log
 
logappend=true
 
dbpath=/data/db/mongodb_data28001
 
replSet=imooc
 
fork=true
 
28002.conf
 
bind_ip=192.168.20.144
 
port=28002
 
logpath=/data/db/mongodb_log/28002.log
 
logappend=true
 
dbpath=/data/db/28002
 
replSet=imooc
 
fork=true
 
28003.conf
 
bind_ip=192.168.20.144
 
port=28003
 
logpath=/data/db/mongodb_log/28003.log
 
logappend=true
 
dbpath=/data/db/28003
 
replSet=imooc
 
fork=true
 
指定端口启用mongo :
 
cd /usr/local/mongo/bin
 
./mongo 192.168.20.144:28001/admin
 
 

(编辑:聊城站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章