mongoDB:
memcached,redis是kv数据库(key/value)
mongodb是文档数据库,存储的是文档(Bson->json的二进制化)
特点:
1 mongodb内部执行的引擎为JS解释器, 把文档存储成bson结构,在查询时,转换为JS对象,并可以通过熟悉的js语法来操作。
2 mongodb文档型数据库则是表下的每篇文档,都可以有自己独特的结构(json对象)
mongoDB的安装:
1:下载mongodb (www.mongodb.org)
2:解压文件
3:不用编译,本身就是编译后的二进制可执行文件.
4:启动mongod服务
./bin/mongod --dbpath 数据存储目录 --logpath 日志存储路径 --port 27017 --fork
--dbpath 数据存储目录(默认是/data/db,且该文件夹必须有权限)
--logpath日志存储目录(要是一个文件而不是文件夹)
--port运行端口(默认27017)
--fork后台进程运行
5: 启动mongo客户端 ./mongo
mongoDB启动客户端警告信息处理:
① 数据目录需要用xfs
opt分区格式化为xfs,将数据目录/var/lib/mongo迁移到/opt,并建立软链接
cd /var/lib && mv mongo /opt && ln -s /opt/mongo mongo
② mongodb默认是无密码登录,有风险
建立管理员admin,对所有数据库有userAdmin权限
db.createUser({user: 'admin', pwd: '@admin', roles: [{role: 'userAdminAnyDatabase', db: 'admin'}]})
建立用户test,仅对test数据库有读写权限
use test
db.createUser({user: 'test', pwd: '@test', roles: [{role: 'readWrite', db: 'test'}]})
重新启动mongo服务,启动权限认证功能
echo -e "\nsecurity:\n authorization: enabled" >> /etc/mongod.conf
systemctl restart mongod
用户认证
db.auth('admin', '@admin')
③linux的cpu各核内存共享的机制,在bios或者内核禁用
vim /etc/default/grub
GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet numa=off"grub2-mkconfig -o /boot/grub2/grub.cfg