mongodb安装以及使用
1. mongodb安装
安装C编译器
yum -y install gcc*
上传mongodb安装包
将mongodb上传到/home目录下
创建mongodb数据库目录
mkdir -p /data/db
mkdir -p /var/mongodb
touch /var/mongodb/mongodb.log
解压安装包
tar xf mongodb-linux-x86_64-rhel70-3.4.2.tgz
文件夹重命名
mv mongodb-linux-x86_64-rhel70-3.4.2 /home/mongodb
设置开机自启动
运行命令行:vim /etc/rc.d/rc.local
在rc.local文件最后面加入下面命令
/home/mongodb/bin/mongod --auth --fork --dbpath=/data/db/ --logpath=/var/mongodb/mongodb.log
保存退出后给此文件增加执行权限
运行命令行:chmod +x /etc/rc.d/rc.local
2. Mongodb配置
2.1 修改mongodb版本号
2.1.1 以非验证方式登录mongodb
/home/mongodb/bin/mongod (保存窗口)
/home/mongodb/bin/mongo
2.1.2 登录管理员数据库
use admin
2.1.3 创建管理员账户
db.createUser({
user: "dba",
pwd: "dba",
roles:
[
{
role: "readWriteAnyDatabase", db: "admin"
}
]})
2.1.4 将版本号改成3
var schema = db.system.version.findOne({"_id":"authSchema"})
schema.currentVersion=3
db.system.version.save(schema)
2.1.5 查看修改后的版本
db.system.version.find()
2.2 创建数据库
use lyl
2.2.1 插入数据
db.usr.insert({'name':'bkty','id':2})
注意:此处必须插入一条数据才能使数据库保持,否则会创建失败
2.3 创建验证用户
2.3.1 登录数据库
use lyl
2.3.2 创建普通用户
db.createUser({
user: "sa",
pwd: "sa",
roles:
[
{
role: "readWrite", db: "lyl"
}
]})
2.3.3 非验证登录下创建角色
use admin
db.createRole({role:'sysadmin',roles:[],
privileges:[
{resource:{anyResource:true},actions:['anyAction']}
]})
2.4 创建管理员用户,赋予以上角色权限
db.createUser({
user:'admin',
pwd:'admin',
roles:[
{role:'sysadmin',db:'admin'}
]})
2.5 指定用户验证登录
/home/mongodb/bin/mongod --auth --fork --dbpath=/data/db/ --logpath=/var/mongodb/mongodb.log
/home/mongodb/bin/mongo
2.5.1 登录数据库
use lyl
2.5.2 指定用户验证登录
db.auth('sa','sa')
3. 备份
创建自动备份及删除脚本
vim /root/mongodbbackup.sh
在文件中增加如下内容
#!/bin/bash
mkdir -p /home/mongodb_all/mongodb_bak_now /home/mongodb_all/mongodb_bak_list
DUMP=/home/mongodb/bin/mongodump
OUT_DIR=/home/mongodb_all/mongodb_bak_now
TAR_DIR=/home/mongodb_all/mongodb_bak_list
DATE=`date +%Y%m%d%H%M%S`
DB_USER=admin
DB_PASS=admin
IP=192.168.168.12:27017
TAR_BAK="mongodb_bak_$DATE.tar.gz"
cd $OUT_DIR
rm -rf $OUT_DIR/*
mkdir -p $OUT_DIR/$DATE
$DUMP -h $IP -u $DB_USER -p $DB_PASS --authenticationDatabase "admin" -o $OUT_DIR/$DATE
tar -zcvf $TAR_DIR/$TAR_BAK $OUT_DIR/$DATE
rm -rf $TAR_DIR/mongodb_bak_`date -d '-3 days' +%Y%m%d`*.tar.gz
exit
注意:脚本中IP=192.168.168.12:27017的IP地址为你安装mongodb那台服务器的IP地址和端口,记得修改,切记!!!
4 开启防火墙
查看防火墙是否开启,运行如下命令行
运行命令行:systemctl status firewall.service
如果显示的是active则表示防火墙开启了,则需要检查mongodb的27017端口是否开放,运行如下命令行
运行命令行:firewall-cmd --list-all
如果27017端口不在列表中,则需要开启端口,运行如下命令行
运行命令行1:firewall-cmd --permanent --add-port=27017/tcp
运行命令行2:firewall-cmd --reload