Linux下mongodb安装及数据导入导出教程
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文件夹以下建立了对应的文件夹。
[root@localhost mongodb]# mkdir data
[root@localhost 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
參考文献:
http://jingyan.baidu.com/article/fd8044faf4f3a95030137a79.html
http://blog.csdn.net/yuwenruli/article/details/8529192
http://www.2cto.com/database/201408/322384.html
http://docs.mongodb.org/manual/reference/method/db.createUser/#create-administrative-user-with-roles
二、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了。
參考文献:
http://chenzhou123520.iteye.com/blog/1641319
查看命令使用帮助
mongoimport --help
mongoexport --help
Mysql导入数据:
load data infile "/big/pcmd5days/nanjing620/hebingnew.txt" into table table2 (time, processdate,ismi,lac,ceid,seg,importdate);
Linux下mongodb安装及数据导入导出教程的更多相关文章
- mongodb备份恢复,数据导入导出
数据导出 mongoexport 假设库里有一张apachelog表,里面有2 条记录,我们要将它导出 /test/mongodb/bin/mongo use wxdata switched to d ...
- sqoop1的安装以及数据导入导出测试
下载 wget http://mirror.bit.edu.cn/apache/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 解压 tar -zxf ...
- Linux下mongodb安装
1>设置mongoDB目录 cd /home/apps 附:centOS下创建目录命令 mkdir /home/apps 2>下载mongodb curl -O http:// ...
- Linux下MongoDB安装和配置(二)
1. 下载MongoDB 下载地址:https://www.mongodb.com/download-center/community 这里选择的是:mongodb-linux-x86_64-4.0. ...
- Linux下Mongodb安装和启动配置
1.下载安装包 wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.2.tgz 下载完成后解压缩压缩包 tar zxf mongod ...
- Linux下MongoDB安装和配置详解
1.下载安装包 将解压到/usr/local/mongodb 文件夹下 # mkdir /usr/local/mongodb # tar zxvf mongodb-linux-x86_64-3.2.9 ...
- linux下mongodb安装、服务器、客户端、备份、账户命令
在linux环境安装mongoDB: 一般认为偶数版本为稳定版 如 1.6.x,奇数版本为开发版如1.7.x 32bit的mongoDB最大能存放2g的数据,64bit没有限制 方法1: 终端执行: ...
- Linux下Mongodb安装和启动配置 原
1.安装 略 2.配置 01.mkdir /usr/local/mongodb/data 0.touch /usr/local/mongodb/logs 03.cd /usr/local/mongod ...
- Linux下Mongodb安装和启动配置 转载
原文地址:https://www.cnblogs.com/Jimmy104/p/6181899.html 以下文章为转载,感谢网友,原文链接 http://blog.csdn.net/yuwenrul ...
随机推荐
- Solr6.6.0 用 SimplePostTool索引文件的启示
本文主要是介绍通过SimplePostTool工具索引文件的结果进行确认,针对不同的文件,索引的结果不同. 1.创建core 首先启动solr,建立名称为data的core,SimplePostToo ...
- RDD编程 上(Spark自学三)
弹性分布式数据集(简称RDD)是Spark对数据的核心抽象.RDD其实就是分布式的元素集合.在Spark中,对数据的操作不外乎创建RDD.转化已有RDD以及调用RDD操作进行求值.而在这一切背后,Sp ...
- Windows下编译vpx获得各个项目VS2010解决方案的步骤
最近研究了一下几种常见的视频编码器:x264,x265,vpx.本文简单记录一下它们的编译方法. x264,x265,vpx这三个开源的视频编码器可以说是当今“最火”的视频编码器.x264现在占据着H ...
- python——list访问问题
rect.append({'bbox':[(int(rect1), int(rect2)), (int(rect3), int(rect4))]}) 应这样访问 rect[0]['bbox'][0][ ...
- Android - 错误:Unable to instantiate application
错误:Unable to instantiate application 本文地址: http://blog.csdn.net/caroline_wendy 错误:java.lang.RuntimeE ...
- 程序员的笔记工具——Markdown
安利一款轻量级的标记语言——Markdown 如上,Markdown作为一门语言,十分钟即可入门,熟练以后麻麻再也不用担心我在文章排版上浪费时间了!! 入门资源可参考如下回答(建议拣一条完整的看完上手 ...
- mysql添加修改字段
ALTER TABLE `uc_organization` ADD COLUMN `agent_id` VARCHAR(50) NOT NULL DEFAULT 0 COMMENT 'sqlserve ...
- asp.net+mvc+easyui+sqlite 简单用户系统学习之旅(七)—— 添加用户到数据库-obj转json
这一节讲一下如何添加用户名和密码到已建的sqlite.db数据库中. 当在datagrid的toolbar中输入用户名.密码,然后点击添加按钮时,将该用户加入数据库,并显示出来.datagrid表格里 ...
- spring揭秘读书笔记----ioc的基本概念
在看ico概念之前,先想一下我们平常需要依赖某个类时会怎么做? 无非是在要用到的地方写如下代码: Person person = new Person(); //然后就可以用person对象来获取Pe ...
- 控制应用程序重启,外部程序C# 实例
第一步:新建一个控制台项目,作为关闭当前应用程序的调用程序. using System; using System.Configuration; using System.Diagnostics; n ...