Linux下mongodb安装及数据导入导出教程

#查看linux发行版本

cat /etc/issue

#查看linux内核版本号

uname -r

一、Linux下mongodb安装的一般步骤

1.到mongodb的官网(https://www.mongodb.org/downloads) 下载相应你系统的安装包,拷贝(能够用ftp工具如winscp)到你的linux系统上面。

2.解压相应的安装包

命令例如以下:tar zxvf mongodb-linux-x86_64-3.0.4.tgz

重命名解压后的目录,简化管理:mv mongodb-linux-x86_64-3.0.4 mongodb

把mongodb文件夹移动到/usr/local/文件夹下,便于管理mv mongodb /usr/local/

3.为mongodb创建数据库存放的位置和日志文件,默认是在/data/db以下,相同为了方便就在mongodb文件夹以下建立了对应的文件夹。

[[email protected] mongodb]# mkdir data

[[email protected] mongodb]# mkdir logs

4.启动mongodb数据库(注意:假设是root用户下解压的mongo。那么普通用户是不能启动mongo的,没权限訪问那些root用户创建的文件)

能够进到mongodb以下的bin文件夹下查看mongodb的帮助文档和我们用到的启动參数:./mongod -h

启动数据库(--fork表示在后台执行mongo服务。假设没有设置成后台执行将无法在控制台输入别的东西)

./mongod --dbpath=/usr/mongodb/data/ --logpath=/usr/mongodb/logs/log --fork

查看mongo的进程

netstat -tlnup | grep mongod

为了安全起见建议关闭28017port防止信息外泄

pkill mongod

5.进入mongodb的client開始mongodb之旅(假设上一步没有设置后台执行的话那就得又一次开一个client来进入下列文件夹执行)

在mongodb文件夹下的bin文件夹下运行./mongo

设置了password登录的情况要这样写(shyx是username,事先定义的,passwordshyx能够不在-p后面写。之后会提示输入)

./mongo -u yxadmin -p yx2345  admin

./mongo -u yxadmin -p 这是最简洁的登录方式(注意默认仅仅是登录test数据库),会提示输入password

./mongo 127.0.0.1:27017/admin -uyxadmin -pyx2345指定ip、数据库、账户

6.停止mongo(尽量不要杀进程,会导致问题。使用admin里的方法来关)

> use admin

switched to db admin

> db.shutdownServer();

server should be down...

能够使用ps -ef或者ps -aux查看进程,找到mongo的进程号,然后kill

7.把mongo增加环境变量(这样就不要每次都进安装文件夹启动服务了)

vim  /etc/profile

PATH=$PATH:/usr/local/mongodb/bin

source /etc/profile

8.设置开机自启动

将mongodb启动项目追增加rc.local保证mongodb在server开机时启动

echo "/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs/logfile --logappend  -port=27017" >> /etc/rc.local

(上述语句没有设置要求password登录)

9.设置须要权限的登录方式,用户连接须要username和password

在bin文件夹下用这条命令启动./mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs/logfile --logappend  --auth  --port=27017 --fork

带有-auth參数时,必须通过认证才干够查询数据。

假设没有加-auth參数,即使配置了安全认证用户。也不须要认证谁都能够操作。

10.设置安全认证用户和password

MongoDB数据库在默认是没实username及password。不用安全验证的,仅仅要连接上服务就能够进行CRUD操作。

假设先前已经设置开机启动mongo且是不用password登录的,那么要改动原先开机启动的设置,设置成须要password认证的开机服务。

================================================

在安装完mongo后默认是不须要用户认证的的,要创建一个管理员用户:

use admin

db.createUser(

{

user:"yxadmin",

pwd:"yx2345",

roles:["root"]

} )

在管理员账户下创建一个pcmddo数据库,并分配此数据库的用户和password(管理员能够操作随意数据库)

use pcmddo

db.createUser(

{

user: "yxkj",

pwd: "yx2345",

roles:

[

{ role: "readWrite", db: "pcmddo" },

]

}

)

==================================================

定位到mongodb\bin,使用./mongo进入mongodb的命令行管理。

键入命令:

use admin

db.createUser(

{

user: "yxkj",

pwd: "yx2345",

roles: [

{

role: "userAdminAnyDatabase",

db: "admin"

} ]

}

);

如今我们为mongodb的admin数据库加入一个用户shyx,password也是shyx,mongodb能够为每一个数据库都建立权限认证,也就是你能够指定某个用户能够登录到哪个数据库。上面的代码。我们为admin数据库加入了一个shyx用户,在mongodb中admin数据库是一个特别的数据库,这个数据库的用户,能够訪问mongodb中的全部数据库。

假设你要为test数据库,设置一个用户,使用例如以下命令:

use test

db.createUser(

{

user: "yxkj",

pwd: "yx2345",

roles: [

{

role: "userAdminAnyDatabase",

db: "admin"

} ]

}

);

好了,如今我们已经为mongodb设置了一个全局用户yxkj,接下来先重新启动mongodb,使创建的用户生效(/etc/init.d/mongod restart)

可能出现的问题

当用命令/usr/local/mongodb/bin/mongod --dbpath=/usr/local/mongodb/data --logpath=/usr/local/mongodb/logs/mongod.log --fork启动mongodb时,报例如以下错误:child process failed, exited with error number 1

这是由于非正常关闭mongodb引起的错误,解决的方法例如以下:

删掉下面文件就可以:/usr/local/mongodb/mongod.lock

參考文献:

二、Mongodb数据导入导出功能介绍

Windows 平台、没有设置usernamepassword

mongoimport -d Test_DBtsv -c Test_Table --type tsv -h 127.0.0.1 --fields 手机号,field2,field3,field4,field5,field6,field7,field8 --file D:\data\test.txt

mongoexport -d Test_DBtsv -c Test_Table --csv -f 手机号,field2,field3,field4,field7 -o D:\data\outdata_csv.txt

Linux平台、用户认证后导入、导出数据

mongoimport -d Test_DBcsv -c Test_Table --type csv -h 127.0.0.1 -u zhou -p 123 --fields手机号,field2,field3,field4,field5,field6,field7 --file /data/test.txt

mongoexport -d Test_DBtsv -c Test_Table --csv -u zhou -p 123 -f 手机号,field2,field3,field4,field7 -o /data/test.txt

导出数据能够指定字段

两种平台主要是本地文件路径写法不一样。假设要用usernamepassword登录得写上对应的參数(-u -p)!

用户认证的前提是事先为数据库Test_DBcsv分配好账户password:

在没有使用--auth选项启动mongo的情况下进入mongo shell运行以下的语句

use Test_DBcsv

db.createUser(

{

user: "zhou",

pwd: "123",

roles:

[

{ role: "readWrite", db: "Test_DBcsv" },

]

}

)

这样在使用--auth选项启动mongoserver的情况下就能使用账户zhou登录数据库Test_DBcsv了。

參考文献:

查看命令使用帮助

mongoimport --help

mongoexport --help

Mysql导入数据:

load data  infile "/big/pcmd5days/nanjing620/hebingnew.txt" into table table2 (time, processdate,ismi,lac,ceid,seg,importdate);

linux中mongo的导出数据,Linux下mongodb安装及数据导入导出教程(示例代码)相关推荐

  1. Linux下mongodb安装及数据导入导出教程

    Linux下mongodb安装及数据导入导出教程 #查看linux发行版本 cat /etc/issue #查看linux内核版本号 uname -r 一.Linux下mongodb安装的一般步骤 1 ...

  2. 导出Windows服务器下的Oracle数据库并导入到Linux服务器下的Oracle数据库中

    2019独角兽企业重金招聘Python工程师标准>>> 说明: 1.Windows Oracle数据库 操作系统:Windows Server 2008 R2 IP地址:192.16 ...

  3. Linux下mongodb安装配置教程

    Linux下mongodb安装配置教程 这里写目录标题 Linux下mongodb安装配置教程 1. 在linux(ubuntu)下安装mongodb 2. 遇到的坑 1. 在linux(ubuntu ...

  4. 19. linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解

    linux中权限详解,Linux权限位,读写执行权限真正含义,chmod详解 文章目录 Linux权限位 读写执行 三种权限真正含义和作用 权限对文件的作用 权限对目录的作用 示例 chmod 使用数 ...

  5. linux环境下MongoDB安装过程详解

    Linux下MongoDB安装和配置详解 *注:本文是参考了多篇文章后,并通过实践总结来的,按照步骤来,下载好对应的版本,保准你能安装个心仪的mongodb服务器.... 一.创建MongoDB的安装 ...

  6. linux中_Linux基础知识(Linux系统、Linux中的链表)

    Linux系统简介 Linux系统的结构及特点 Linux系统的结构图如下图所示: 从上图可以看出,Linux是一个典型的宏内核(一体化内核)结构.硬件系统上面时硬件抽象层,在硬件抽象层上面时内核服务 ...

  7. centos sudo不能运行_如何在 Linux 中配置 sudo 访问权限 | Linux 中国

    Linux 系统中 root 用户拥有 Linux 中全部控制权力.Linux 系统中 root 是拥有最高权力的用户,可以在系统中实施任意的行为.-- Magesh Maruthamuthu Lin ...

  8. xp装linux一键安装教程图解,XP下硬盘安装CentOS 6.0图解教程

    电脑系统是Windows XP,电脑没有光驱.手头没有U盘.没有移动硬盘.电脑主板不支持U盘启动,在这种情况下想安装CentOS 6.0,有木有办法? 答案:有办法,请看下面教程! 必备工具: 一.电 ...

  9. linux取证教程,Linux中的取证(Forensics in Linux)

    Linux中的取证(Forensics in Linux) 数字调查的主要问题是通过加密或任何其他格式保护重要证据或数据. 基本示例是存储密码. 因此,有必要了解Linux操作系统在数字取证实施中的使 ...

最新文章

  1. Javascript 移动的海绵宝宝
  2. 受控组件和不受控组件的区别
  3. Zookeeper详细参数解析zoo.cfg文件
  4. Bootstrap下拉菜单中禁用某个下拉菜单
  5. Ubuntu安装指定版本clang-format
  6. SDUT oj 选拔赛1 迷之好奇
  7. Android_L(64bit) 模拟器配置及创建项目
  8. 彭国伦Fortran95学习笔记(一)第八章至第十六章
  9. 基于微信小程序的记账系统
  10. 矩阵快速幂 超详细介绍
  11. 提高IT团队工作效率的建议
  12. 蓝牙运动耳机什么牌子好,分享六款好用的运动耳机
  13. python 拉丁超立方抽样
  14. 散列表及散列冲突解决方案
  15. csv转excel在线工具
  16. OpenCV的viz库学习(一)
  17. 干货秘籍:网易游戏《率土之滨》原画设计师分享创作设计经验
  18. 蓝桥杯刷题007——七段码
  19. 流量Ⅰ--一文了解pcap网络数据包的结构?
  20. 无用功[By tina]

热门文章

  1. Deep Learning---py-faster-rcnn基于PASCAL VOC数据集训练模型
  2. C++之队列的实现及各种
  3. 卷积(转自wiki百科)
  4. 【加法笔记系列】逻辑电路的实现
  5. Kettle7 java 远程执行Trans/Job
  6. 英国电价与光伏容量占比关系分析
  7. linux 内核 linux kernel travel
  8. 学习笔记之APACHE ANT
  9. 共济失调对我们的危害你知道吗
  10. FP-growth算法高效发现频繁项集