mongodb的安装
- 下载:http://www.mongodb.org/downloads
- 解压
- tar -zxvf 文件
安装准备
-重命名:mv 文件 文件名
-创建数据库文件和日志文件- mkdir data - mkdir mongodb_data //数据库文件 - mkdir mongdb_log - touch mongdb.log //创建日志文件
- 目录文件说明
- bin目录:的mongod就是MongoDB的服务端进程,mongo就是其客户端,其它的命令用于MongoDB的其它用途如MongoDB文件导出等。 - 数据库的启动
- 在bin的目下 ./mongod –dbpath=/data/mongodb_data/ –logpath=/data/mongodb_log/mongodb.log –logappend&
- 启动成功后,该服务默认端口号是27017,可以查看该端口号的状态,netstat -lanp | grep “27017”
本地连接mongodb
- 编辑/etc/rc.local文件:vi /ect/rc.local
- /usr/mongodb/mongodb/bin/mongod –dbpath=/usr/mongodb/mongodb/data/mongodb_data/ –logpath=/usr/mongodb/mongodb/data/mongodb_log/mongodb.log –logappend&
- 任意目录执行
- 将bin目录下的mongo文件复制到/usr/bin/目录下,之后就可以任意目录的执行mongo开启数据库客户端
- 编辑/etc/rc.local文件:vi /ect/rc.local
远程连接mongodb
其实做法一样很简单:./mongodb/bin/mongo 192.168.10.234:port即可。
不过此处就需要注意了,我们需要在centOS上打开mongoDB的端口号,接下来讲讲如何在centOS上打开指定端口。
我们打开配置文件 /etc/sysconfig/iptables,在该文件中添加如下内容:
-A RH-Firewall-l-INPUT -P tcp -m tcp –dport mongoDB端口号 -j ACCEPT
然后重启服务
service iptables restart
此时,你已可以开始通过局域网来访问centOS上部署的mongoDB
顺便再增加一点centOS与windows互访的知识,譬如,我们想把原来在windows机器上的mongoDB产生的文件移植到centOS中,当然可以用移动存储设备来拷贝,但是我这里讲的是Linux(centOS)如何来访问windows共享目录,命令如下:
mount -t cifs //ip/共享目录名称 /mnt/sharefile -o username=,password=
上面的命令即将windows的共享目录映射为linux上的/mnt/sharefile目录
数据库启动问题:
- 找不到 127.0.0.1:27017 server
- 原因:因为系统没有正常关闭,或是出现异常关闭的情况,导致文件被占用或是锁住
- 解决方案:
- 一:,先查看服务有没有启动(net state mongoDB)若是处于启动状态,先(net stop MongoDB),删除掉数据库文件即data/mongodb中的mongodb.lock文件或是整个data目录中的数据,之后重启。
- 二:或是在bin目录下使用修复命令:mongod –repair
- 找不到 127.0.0.1:27017 server
数据库参数解释:
–dbpath 数据库路径(数据文件)
–logpath 日志文件路径
–master 指定为主机器
–slave 指定为从机器
–source 指定主机器的IP地址
–pologSize 指定日志文件大小不超过64M.因为resync是非常操作量大且耗时,最好通过设置一个足够大的oplogSize来避免resync(默认的 oplog大小是空闲磁盘大小的5%)。
–logappend 日志文件末尾添加
–port 启用端口号
–fork 在后台运行
–only 指定只复制哪一个数据库
–slavedelay 指从复制检测的时间间隔
–auth 是否需要验证权限登录(用户名和密码)-h [ –help ] show this usage information
–version show version information
-f [ –config ] arg configuration file specifying additional options
–port arg specify port number
–bind_ip arg local ip address to bind listener - all local ips
bound by default
-v [ –verbose ] be more verbose (include multiple times for more
verbosity e.g. -vvvvv)
–dbpath arg (=/data/db/) directory for datafiles 指定数据存放目录
–quiet quieter output 静默模式
–logpath arg file to send all output to instead of stdout 指定日志存放目录
–logappend appnd to logpath instead of over-writing 指定日志是以追加还是以覆盖的方式写入日志文件
–fork fork server process 以创建子进程的方式运行
–cpu periodically show cpu and iowait utilization 周期性的显示cpu和io的使用情况
–noauth run without security 无认证模式运行
–auth run with security 认证模式运行
–objcheck inspect client data for validity on receipt 检查客户端输入数据的有效性检查
–quota enable db quota management 开始数据库配额的管理
–quotaFiles arg number of files allower per db, requires –quota 规定每个数据库允许的文件数
–appsrvpath arg root directory for the babble app server
–nocursors diagnostic/debugging option 调试诊断选项
–nohints ignore query hints 忽略查询命中率
–nohttpinterface disable http interface 关闭http接口,默认是28017
–noscripting disable scripting engine 关闭脚本引擎
–noprealloc disable data file preallocation 关闭数据库文件大小预分配
–smallfiles use a smaller default file size 使用较小的默认文件大小
–nssize arg (=16) .ns file size (in MB) for new databases 新数据库ns文件的默认大小
–diaglog arg 0=off 1=W 2=R 3=both 7=W+some reads 提供的方式,是只读,只写,还是读写都行,还是主要写+部分的读模式
–sysinfo print some diagnostic system information 打印系统诊断信息
–upgrade upgrade db if needed 如果需要就更新数据库
–repair run repair on all dbs 修复所有的数据库
–notablescan do not allow table scans 不运行表扫描
–syncdelay arg (=60) seconds between disk syncs (0 for never) 系统同步刷新磁盘的时间,默认是60s