安装mongodb-3.4
1)将安装包上传至服务器
2)对压缩文件进行解压
tar -zxvf mongodb-linux-x86_64-suse12-v3.4-latest.tar.gz
3)把解压出来的文件修改一下名字,并挪到指定安装路径
sudo mv mongodb-linux-x86_64-suse12-3.4.6-22-ga109a23 mongoDB-linux-x86_64-3.4.6
4)创建数据库目录
MongoDB的数据存储在data目录的db目录下,但是这个目录在安装过程不会自动创建,所以你需要手动创建data目录,并在data目录中创建db目录。
sudo mkdir -p data/db
执行这个指令后没有出现相应的目录的话,就执行下面的指令
sudo mkdir data
cd data
sudo mkdir db
6)创建日志文件夹和文件,在根目录下
sudo mkdir logs
cd logs
sudo touch mongodb.logs
7)此时在bin下执行 ./mongod 报错
./mongod: error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
解决方法:全盘查找 libsst.so* 发现usr/lib64/libssl.so.1.0.1e,全盘查找:
find / -name 'libss*'
然后把这个复制一份重命名为libssl.so.1.0.0
cp libssl.so.1.0.1e libssl.so.1.0.0
再执行:./mongod
又报错, ./mongod: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
解决方法:全盘查找 libcrypto.so* 发现usr/lib64/libcrypto.so.1.0.1e,
然后把这个文件复制,重命名为libcrypto.so.1.0.0
8)再执行./mongod 又报错了
还是没有起来
解决方法:错误是因为我刚才创建的/data/db 文件的权限不对,我把这个文件权限设置成每个用户都能访问
sudo chmod -R go+w /data/db
或者写全路径
顺便把logs那个文件夹也设置了一下
9)创建mongodb的登录用户和密码
创建mongodb.conf文件,并写里面的内容:
systemLog:
destination: file
path: "/home/mongoDB/mongodb-linux-x86_64-3.4.6/logs/mongodb.log"
logAppend: true
storage:
journal:
enabled: true
dbPath: "/home/mongoDB/mongodb-linux-x86_64-3.4.6/data/db"
net:
port: 27017
processManagement:
fork: true
security:
authorization: enabled
10)然后在bin下执行
./mongod -f /home/mongoDB/mongoDB-linux-x86_64-3.4.6/mongodb.conf
报错
解决方法:1、删除data/db目录下的mongodb.lock
2、执行指令换成:
sudo ./mongod -f /home/mongoDB/mongoDB-linux-x86_64-3.4.6/mongodb.conf
11)然后用admin 用户执行添加用户名和密码,进入bin目录下执行:
./mongo
输入:
use admin
// show users
db.createUser(
{
user: "admin",
pwd: "qwerty",
roles:
[
{
role: "root",
db: "admin"
}
]
}
)
12)然后退出
修改mongodb.conf文件下的authorization 为 enabled
修改完之后执行:
sudo ./mongod -f /home/mongoDB/mongoDB-linux-x86_64-3.4.6/mongodb.conf
./mongo --port 27017 -u admin -p 'qwerty' --authenticationDatabase admin
启动成功。
13)建库
use db_acces
db.createUser({user:"xxxxxx",pwd:"xxxxxx",roles:[{role:"readWrite",db:"db_acces"}]})
完成