环境:centOS7 + mongoDB4.0.13
下载安装
cd /
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-4.0.13.tgz
tar -zxvf mongodb-linux-x86_64-4.0.13.tgz
#复制到指定目录
cp mongodb-linux-x86_64-4.0.13 /usr/local/mongodb -r
配置环境变量
vim /etc/profile
添加一行
export PATH=$PATH:/usr/local/mongodb/bin
使其生效
source /etc/profile
查看版本
mongo --version
常用配置
cd /usr/local/mongodb
#创建数据文件存放目录
mkdir data
#创建日志目录
mkdir log
#创建配置文件
vim mongodb.conf
mongodb.conf内容如下
#数据文件存放目录
dbpath = /usr/local/mongodb/data
#日志文件存放目录
logpath = /usr/local/mongodb/log/mongodb.log
#表示日志文件末尾追加日志
logappend=true
#端口
port = 27017
#以守护程序的方式启用,即在后台运行
fork = true
#允许所有的连接
bind_ip=0.0.0.0
启动
cd /usr/local/mongodb/bin
./mongod -f ../mongodb.conf
提示如下内容说明启动成功
about to fork child process, waiting until server is ready for connections.
forked process: 1728
child process started successfully, parent exiting
新增数据库用户
mongoDB默认情况下是没有启用验证的,但是在实际生产环境中,我们必须启用验证,所以一般在配置完mongoDB后,使用控制台新建用户
cd /usr/local/mongodb/bin
#进入控制台
./mongo
#查看所有的数据库,默认情况下可以看到admin ,config ,local 这三个库
show dbs
#切换到数据库 admin
use admin
需要注意的是use db
指令是:创建并切换到数据库 db,这里的切换是不检查db是否存在的,如果使用use test1
后,再用show dbs
查询,是看不到test1这个库的,这跟关系型数据库不同,mongoDB规定当数据库有资料的时候才算是真正的数据库,有资料的时候用show dbs
查询才会显示
#创建用户xiaoming
db.createUser(
{
user: "xiaoming",
pwd: "12345",
roles: [ { role: "userAdminAnyDatabase", db: "admin" },{role:"hostManager", db:"admin"} ]
}
);
#关闭mongodb服务
db.shutdownServer();
#退出控制台
exit
编辑mongodb.conf文件开启验证
vim /usr/local/mongodb/mongodb.conf
加入如下一行
auth=true
重启
cd /usr/local/mongodb/bin
./mongod -f ../mongodb.conf
使用Navicat客户端测试连接即可
Navicat连接mongodb有时候数据库显示不出来,需要在连接配置那里设置一下