1、
cd /usr/local
mkdir MongoDB
cd MongoDB
mkdir source // 在MongoDB文件夹下创建source文件夹用于保存安装包
mkdir data // 在MongoDB文件夹下创建data文件夹用于后续数据库信息保存
mkdir log // 在MongoDB文件夹下创建log文件夹用于保存数据库日志
2、cd /usr/local/MongoDB/source
wget http://fastdl.mongodb.org/linux/mongodb-linux-i686-1.8.1.tgz
3、tar -zxvf mongodb-linux-i686-1.8.1.tgz -C /usr/local/MongoDB
4、cd /usr/local/MongoDB
mv mongodb-linux-i686-1.8.1 mongodbServer // 将解压后的文件夹名称重命名为 mongodbServer
5、在/etc/profile文件中加入:
export MONGODB_HOME=/usr/local/MongoDB/mongodbServer
export PATH=$PATH:$MONGODB_HOME/bin
source /etc/profile
6、创建配置文件mongod.conf:
cd /usr/local/MongoDB/mongodbServer/bin
vi mongod.conf
添加如下内容:
dbpath=/usr/local/MongoDB/data
port=27017
logpath=/usr/local/MongoDB/log/mongodb.log
logappend=true
journal=true
fork=true
7、输入mongod --config /usr/local/MongoDB/mongodbServer/bin/mongod.conf启动mongdb,
提示: /lib/ld-linux.so.2: bad ELF interpreter: No such file or directory
需要使用yum install glibc.i686命令安装glibc.i686
8、输入yum install glibc.i686提示Package glibc-2.17-317.el7.x86_64 already installed and latest version
解决方案:
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo
yum repolist
9、输入yum install glibc.i686提示mongod: error while loading shared libraries: libstdc++.so.6: cannot open shared object file: No such file or directory
报错原因:缺少共享库!
解决方案:
yum whatprovides libstdc++.so.6 //查询哪个安装包有这个库文件
yum whatprovides libstdc++.so.6
Loaded plugins: fastestmirror
Repository centosplus is listed more than once in the configuration
Loading mirror speeds from cached hostfile
* base: mirrors.aliyuncs.com
* extras: mirrors.aliyuncs.com
* updates: mirrors.aliyuncs.com
libstdc++-4.8.5-44.el7.i686 : GNU Standard C++ Library
Repo : base
Matched from:
Provides : libstdc++.so.6
yum -y install libstdc++-4.8.5-44.el7.i686 //安装相应安装包
10、输入yum install glibc.i686
11、输入mongod --config /usr/local/MongoDB/mongodbServer/bin/mongod.conf启动mongdb
提示forked process: 39882则启动成功
12、进入数据库,任意路径执行mongo命令,即可进入 mongoDB 的 shell 命令行
13、指定数据库添加管理用户
打开 mongoDB 的 shell 命令行界面后,进入默认的 admin 数据库
use admin // 进入 admin 数据库
db.createUser({ user: 'name', pwd: 'password', roles: [{ role: 'dbOwner', db: 'simple-design' }] })
// 为名为 simple-design 的数据库添加数据库管理员,账号为 name,密码为 password, 角色权限为 dbOwner
常用 mongoDB 角色:
数据库用户角色: read、 readWrite
数据库管理角色:dbAdmin、dbOwner、userAdmin
集群管理角色:clusterAdmin、clusterManager、clusterMonitor、hostManager
备份恢复角色:backup、restore
所有数据库角色:readAnyDatabase、readWriteAnyDatabase、userAdminAnyDatabase、dbAdminAnyDatabase
超级用户角色:root
内部角色: __system
14、配置服务
vi /etc/init.d/mongod
相关语句解释:
#chkconfig:345 61 61 //此行的345参数表示,在哪些运行级别启动,启动序号(S61);关闭序号(K61);之前序号用124和224都报错,后来改成两位的就成功了,不知道为什么
#description:Apache //此行必写,描述服务.
文件内容如下:
#!/bin/bash
#chkconfig:345 61 61 //没有配置这行和下面一行,会无法配置服务到自启动的列表里,提示:service mongod does not support chkconfig
#description:Apache //没有配置这行和上面一行,会无法配置服务到自启动的列表里,提示:service mongod does not support chkconfig
start() {
/usr/local/MongoDB/mongodbServer/bin/mongod --config /usr/local/MongoDB/mongodbServer/bin/mongod.conf
}
stop() {
/usr/local/MongoDB/mongodbServer/bin/mongod --config /usr/local/MongoDB/mongodbServer/bin/mongod.conf --shutdown
}
case "$1" in
start)
start
;;
stop)
stop
;;
restart)
stop
start
;;
*)
echo
$"Usage: $0 {start|stop|restart}"
exit 1
esac
15、执行脚本权限命令
chmod +x /etc/init.d/mongod
systemctl unmask mongod.service
16、启动 mongoDB 系统服务,先kill掉之前的进程
service mongod start
17、配置开机自启动
chkconfig --add mongod
systemctl enable mongod