mongodb是一個nosql數據庫,全部的數據都是以bson格式去存儲在數據庫裏面的,什麼是bson呢,bson是一種比json更強的數據存儲格式,若是你是小白,能夠直接看作jsonlinux
首先添加MongoDB的軟件源 編輯下面這個文件sql
vim /etc/yum.repos.d/mongodb.repo
mongodb
添加shell
[mongodb-org-3.6] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/amazon/2013.03/mongodb-org/3.6/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc
刷新軟件源緩存數據庫
yum makecache
macos
安裝json
sudo yum install mongodb-org
vim
啓動centos
systemctl start mongod
緩存
查看運行狀態
systemctl status mongod
鏈接以後會有幾個警告
[root[@bboysoul](https://my.oschina.net/u/2557325) ~]# mongo --host localhost MongoDB shell version v3.6.5 connecting to: mongodb://localhost:27017/ MongoDB server version: 3.6.5 Server has startup warnings: 2018-05-30T17:22:25.377+0800 I CONTROL [initandlisten] 2018-05-30T17:22:25.377+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2018-05-30T17:22:25.377+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2018-05-30T17:22:25.377+0800 I CONTROL [initandlisten] 2018-05-30T17:22:25.378+0800 I CONTROL [initandlisten] 2018-05-30T17:22:25.378+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2018-05-30T17:22:25.378+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2018-05-30T17:22:25.378+0800 I CONTROL [initandlisten] 2018-05-30T17:22:25.378+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 2018-05-30T17:22:25.378+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2018-05-30T17:22:25.378+0800 I CONTROL [initandlisten] 2018-05-30T17:22:25.378+0800 I CONTROL [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 4096 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files. 2018-05-30T17:22:25.378+0800 I CONTROL [initandlisten]
咱們一步一步解決它 第二三個警告是
2018-05-30T17:22:25.378+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. 2018-05-30T17:22:25.378+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never' 2018-05-30T17:22:25.378+0800 I CONTROL [initandlisten] 2018-05-30T17:22:25.378+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. 2018-05-30T17:22:25.378+0800 I CONTROL [initandlisten] ** We suggest setting it to 'never'
意思是要禁用linux的大內存頁,輸入下面命令禁用
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo never > /sys/kernel/mm/transparent_hugepage/defrag
這樣作其實重啓機器以後大內存頁是會自動開啓的,若是你想一直禁止使用大內存頁那麼你要這麼作修改rc.local文件
vi /etc/rc.d/rc.local
以後加入
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then echo never > /sys/kernel/mm/transparent_hugepage/enabled fi if test -f /sys/kernel/mm/transparent_hugepage/defrag; then echo never > /sys/kernel/mm/transparent_hugepage/defrag fi
注意rc.local要有可執行權限
chmod +x rc.local
以後解決第四項警告
WARNING: soft rlimits too low. rlimits set to 4096 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.
這個意思是你的系統限制的最大進程數是4096,最大能打開的文件是64000個,因此咱們要修改配置文件來消除這個警告,修改下面這個文件
vi /etc/security/limits.conf
加入
mongod soft nofile 64000 mongod hard nofile 64000 mongod soft nproc 32000 mongod hard nproc 32000
以後重啓服務,查看還有沒有這個警告了
最後解決第一個警告
2018-05-30T23:01:38.417+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2018-05-30T23:01:38.417+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricte
這個問題的緣由就是mongo推薦你使用驗證登陸數據庫,也就是說要設置密碼,那麼咱們就來設置密碼使用admin數據庫
> show dbs admin 0.000GB config 0.000GB local 0.000GB > use admin switched to db admin
加入密碼
db.createUser( { user: "admin", //用戶名 pwd: "woyaoxuehuilinux", //密碼 roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] //設置權限 } )
以後修改systemed中的文件
vi /etc/mongod.conf
加入
security: authorization: enabled
以後重啓數據庫登陸就行了
首先下載
wget https://fastdl.mongodb.org/osx/mongodb-osx-ssl-x86_64-3.6.5.tgz
以後解壓
tar -xvf mongodb-osx-ssl-x86_64-3.6.5.tgz
接着移動到一個本身喜歡的目錄而且重命名
mv mongodb-osx-x86_64-3.6.5 ~/Applications/mongo
在zshrc或者bashrc中加入環境變量
vim ~/.zshrc
加入
export PATH=$PATH:/Users/bboysoul/Applications/mongo/bin
使環境變量生效
source ~/.zshrc
執行下mongo看看是否是配置成功,接着新建一個目錄來存放mongo的數據
mkdir mongodb
啓動服務
mongod --dbpath /Users/bboysoul/Applications/mongo/mongodb --bind_ip 0.0.0.0 &
以後鏈接數據庫
mongo --host localhost
建立用戶
> use admin switched to db admin > db.createUser( ... { ... user: "admin", //用戶名 ... pwd: "woyaoxuehuilinux", //密碼 ... roles: [ { role: "userAdminAnyDatabase", db: "admin" } ] //設置權限 ... } ... ) 2018-05-30T23:31:55.172+0800 I STORAGE [conn1] createCollection: admin.system.users with generated UUID: ee4acb87-b294-4359-9397-fe8b5b2581b7 Successfully added user: { "user" : "admin", "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
找到mongo的pid kill以後再次打開數據庫
mongod --dbpath /Users/bboysoul/Applications/mongo/mongodb --bind_ip 0.0.0.0 --auth &
注意此次是家裏--auth的
歡迎關注Bboysoul的博客www.bboysoul.com Have Fun