linux虚拟机安装mongdb和服务配置

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

你可能感兴趣的:(mongodb,数据库)