MongoDB 提供了 linux 各个发行版本 64 位的安装包,可以在官网下载安装包。
安装前我们需要安装各个 Linux 平台依赖包。
Red Hat/CentOS:
sudo yum install libcurl openssl
MongoDB 源码下载地址:https://www.mongodb.com/download-center#community
这里我们选择 tgz 下载,下载完安装包,并解压 tgz(以下演示的是 64 位 Linux上的安装) 。
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.5.tgz
tar -zxvf mongodb-linux-x86_64-rhel70-5.0.5.tgz
mv mongodb-linux-x86_64-rhel70-5.0.5/* /usr/local/mongodb 创建日志logs和数据data的存储文件 cd /usr/local/mongodb/ mkdir data mkdir logs cd logs touch mongodb.log # 创建配置文件目录etc cd ../ mkdir etc cd etc touch mongodb.conf 配置etc下mongodb.conf文件
vim mongodb.conf
#数据库路径
dbpath=/usr/local/mongodb/data
#日志输出文件路径
logpath=/usr/local/mongodb/logs/mongodb.log
#错误日志采用追加模式
logappend=true
#启用日志文件,默认启用
journal=true
#这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
quiet=true
#端口号 默认为27017
port=27017
#允许远程访问
bind_ip=0.0.0.0
#开启子进程
fork=true
#开启认证,必选先添加用户,先不开启(不用验证账号密码)
#auth=true
配置好之后,按Esc键退出编辑,:wq保存退出
配置mongodb全局环境变量:
vim /etc/profile/
export PATH=$PATH:/usr/local/mongodb/bin
# 使配置生效
source /etc/profile
无密码启动
# 进入mongodb的bin目录下 cd /usr/local/mongodb/bin/ # 启动 ./mongod --config /usr/local/mongodb/etc/mongodb.conf 成功:
失败:
这样的话大部分情况是没有停止,需要执行
ps -ef|grep mongod
然后kill +id进行停止,再次启动就正常了
进入
# 任意目录下输入,都可进入
mongo
# 执行show dbs可以看到所有的用户,不安全的
show dbs
# 添加admin密码控制
use admin
# 设置账号密码
db.createUser({user:"root",pwd:"123456",roles:[{role:"root",db:"admin"}]})
# 关闭服务
db.shutdownServer()
ctrl+c退出
密码启动
# 进入mongodb配置文件
cd /usr/local/mongodb/etc/
# 放开
# 再次启动
cd /usr/local/mongodb/bin/
#
./mongod --config /usr/local/mongodb/etc/mongodb.conf
mongo
show dbs
# 会发现,不能看到用户了
use admin
db.auth('root','123456')
# 这时候就可以看到了
使用的vmWare,要开放端口
阿里云的话,在安全组配置端口
成功:
注意:需要另起一个终端:
bin目录输入指令:
cd /usr/local/mongodb/bin/
mongodump
如果提示:-bash: mongodump: command not found, 查看bin目录是否有mongodump,mongorestore文件,如果没有需要去官网下载: https://www.mongodb.com/try/download/database-tools
解压下载的Database Tools文件:
进入查看bin目录:
将需要的文件放到/usr/local/mogondb/bin目录下或者全部移动:
再次进入/usr/local/mongodb/bin 下执行备份:
./mongodump -h localhost:27017 -u root -p 123456 -d ww -o /home/ --authenticationDatabase admin
注:localhost:27017 数据库地址+端口;
123456:密码
ww:库名
执行恢复:
./mongorestore -h localhost:27017 -u root -p 123456 -d tt /home/ww --authenticationDatabase admin
注:tt: 恢复后的库名:名字随便起