Linux系统安装NoSQL(MongoDB和Redis)步骤及问题解决办法(总结篇)
如下是我工作中的记录,介绍的是linux系统下NoSQL:MongoDB和Redis的安装过程和遇到的问题以及解决办法:
需要的朋友可以按照如下步骤进行安装,可以快速安装MongoDB和Redis,希望可以帮助大家:)!
一、MongoDB
1、MongoDB安装
(1)将安装包mongodb-linux-i686-3.0.2.tgz拷贝到要安装的服务器中
这里我用的rz命令,如果不支持需要安装yum -y install lrzsz
(2)解压安装程序 tar xzvf mongodb-linux-i686-3.0.2.tgz
(3)进入目录:/usr/local/ 创建文件夹 mkdir mongodb
(3)移动文件到/usr/local/mongodb目录中:
<span style="font-family: "Microsoft YaHei"; font-size: 15px">mv mongodb-linux-i686-3.0.2/* /usr/local/mongodb
进入/usr/local/mongodb执行</span>
(4)mkdir data
(5)touch logs
(6)进入bin目录下执行启动
<span style="font-family: "Microsoft YaHei"; font-size: 15px"> ./mongod --dbpath=/usr/local/mongodb/data/ --fork --logpath=/usr/local/mongodb/logs
说明:--dbpath 指定存放mongodb库数据
--fork 后台执行,不然一直前台执行
--logpath 指定mongodb的日志记录文件
报错:-bash: ./mongod: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
解决办法:sudo yum install glibc.i686
报错:./mongod: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
解决办法:yum provides libstdc++.so.6 查看哪个里面包含so.6 查看到
libstdc++-4.8.5-4.el7.i686,然后执行安装
yum install libstdc++-4.8.5-4.el7.i686 执行安装
报错:Error: Protected multilib versions: libstdc++-4.4.7-4.el6.i686 !=
libstdc++-4.4.7-3.el6.x86_64
解决办法:yum update libstdc++-4.4.7-11.el6.x86_64 然后再执行步骤 yum install libstdc++-4.4.7-4.el6.i686
安装成功后,在执行启动./mongod --dbpath=/usr/local/mongodb/data/ --fork --logpath=/usr/local/mongodb/logs</span>
(7)查看mongodb进程(以下两种均可)
<span style="font-family: "Microsoft YaHei"; font-size: 15px"> netstat -tlnup|grep mongod netstat -tlnup|grep 27017</span>
2、MongoDB启动:
(1)进入/usr/bin
(2)执行命令连接客户端:./mongo
3、查看启动状态:
<span style="font-family: "Microsoft YaHei"; font-size: 15px">netstat -lntup|grep 27017 > show dbs; db.stats() use test;</span>
至此,redis已经安装并测试成功,可以放心使用了:)
二、Redis
Redis分为服务端和客户端,我们首先安装服务端,实际就是用C语言进行编译,编译成功即安装成功,然后再启动客户端连接服务端进行测试。
1、安装Redis服务端
(1)下载安装包
在服务器相应目录下(/opt)执行wget命令进行下载:
<span style="font-family: "Microsoft YaHei"; font-size: 15px">wget https://redis.googlecode.com/files/redis-2.6.13.tar.gz
报错:Permission denied
原因:当前用户ec2-user 对opt 这个文件夹没有w的权限
解决办法:sudo -i chmod a+x /opt 使当前用户对opt文件有执行权限</span>
(2) 解压缩安装包
<span style="font-family: "Microsoft YaHei"; font-size: 15px"> tar xzf redis-2.6.13.tar.gz</span>
(3)编译
<span style="font-family: "Microsoft YaHei"; font-size: 15px"> 进入redis-2.6.13目录进行编译
1)cd redis-2.6.13
2)make
报错:/bin/sh: cc: command not found
原因:没有C语言编译环境
解决办法:yum install gcc
继续执行编译安装
3)make install</span>
(4)拷贝redis.conf到etc文件夹下
<span style="font-family: "Microsoft YaHei"; font-size: 15px"> cp redis.conf /etc/</span>
2、启动Redis
(1)进入目录redis的src:cd /opt/redis-3.0.0/src
(2)启动服务端(src目录):./redis-server &
或者在redis-3.0.0目录下执行 src/redis-server
(3)打开客户端(src目录):./redis-cli &
或者在redis-3.0.0目录下执行 src/redis-cli
3、测试Redis安装
两种方式测试redis是否启动成功,选择任意一种即可
(1)检测6379端口是否在监听
<span style="font-family: "Microsoft YaHei"; font-size: 15px">netstat -lntp | grep 6379</span>
(2)检测后台进程是否存在
<span style="font-family: "Microsoft YaHei"; font-size: 15px">ps -ef |grep redis</span>
4、执行Redis测试
<span style="font-family: "Microsoft YaHei"; font-size: 15px">127.0.0.1:6379> set name yhb OK 127.0.0.1:6379> get name "yhb" 127.0.0.1:6379></span>
至此,Redis已经安装并测试成功,可以放心使用了:)