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