配置文件方式启动mongo(& 执行后就是后台启动)
这里注意无论是mongodb还是node服务,后台启动后不要直接ctrl + c ,输入命令exit才是正确的退出方式
ps -ef 和 ps -aux
启动mongodb前养成首先查看后台是否运行该服务:
ps -ef | grep mongodb 或者 ps -aux | grep mongodb
bin/mongod -f ./mongodb.conf &
mongodb数据库采用robo 3t 远程链接数据库
- 有两种选择,第一种就是登陆admin账号,它可以看到所有的数据库,第二种就是登陆对应数据库的账号密码,即只能看到对应的数据的表
- 先说第一种,我采用的是压缩包安装的形式来安mongodb数据库的,默认的话都是没密码的,所以:
1. 配置好基础的信息后,进入到mongodb目录下bin中:
2. 链接数据库: ./mongod -f ./mongodb.conf (mongodb.conf是自己手动配置的,自己百度一下就有了)
3. 进入数据库中:./mongo
4. 接下来建立数据库账号密码:
** 先不写,明天我加上**
mongodb忘记密码后重置密码
新装mongodb后,结果一段时间没有用,密码给忘记了,只能重置密码了。步骤如下:
- 找到mongodb的配置文件:
[root@instance-kcrieasu bin]# find / -name mongodb.conf # / 表示路径可自定
/usr/local/mongodb/bin/mongodb.conf
/etc/mongodb.conf
- 编辑配置文件将用户验证的配置项屏蔽 :
[root@instance-kcrieasu bin]# vim mongodb.conf
我的文件目录如下:
dbpath = /usr/local/data/db #数据文件存放目录
logpath = /usr/local/data/logs/mongodb.log #日志文件存放目录
port = 27017 # 端口
#fork = true # 以守护程序的方式启用,即在后台运行
auth=true # 需要认证。如果放开注释,就必须创建MongoDB的账号,使用账号与密码才可远程访问,第一次安装建议注释
bind_ip=0.0.0.0 #允许远程访问,或者直接注释,127.0.0.1是只允许本地访问
将auth 值改为false; 之后重启mongodb服务
- 重启mongodb服务
在bin目录下运行: ./mongod -f ./mongodb.conf
- 登录mongo查看数据库是否需要验证
在bin目录下运行: ./mongo
show dbs 如果可以直接看到所有数据表即关闭成功
- 运行下列命令,删除账户密码
use admin
db.system.users.find()
db.system.users.remove({})
- 重新设置密码(这里我的没成功,后续我会修改)
db.createUser({user:'admin',pwd:'admin',role:[{"role":"userAdminAnyDatabase","db":"admin"}]})
- 将配置文件的验证还原,重启mongod就可以了(重复一下步骤3、4)
- 完成修改!!!
常用操作命令
1. 首先进入mongodb的bin目录下
2. ./mongo 就会进入数据操作页
3. show dbs 显示出来所有的数据库表名单
4. show dbs:显示数据库列表
show collections:显示当前数据库中的集合(类似关系数据库中的表)
show users:显示用户
use <db name>:切换当前数据库,这和MS-SQL里面的意思一样
db.help():显示数据库操作命令,里面有很多的命令
db.foo.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令
db.foo.find():对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据)
db.foo.find( { a : 1 } ):对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1
删除表
db.表名.drop() 固定格式,要在当前库下的表名
> db.t1.drop()
true
删除表
db.表名.drop() 固定格式,要在当前库下的表名
> db.t1.drop()
true
删除库
db.dropDatabase() //固定格式,删除当前库(不用跟参数,区分大小写)
删除表记录
db. 集合名 .remove({ 条件 }) //删除与条件匹配的所有记录
db. 集合名 .drop(); //删除表
附加提醒
附带提醒:
1、后台启动node命令: nohup node ./app.js &
2、停止node和mongo都是用kill
3、如果出现启动报错 ERROR: child process failed, exited with error number 100,一般是由于上一次mongodb没有正常关闭,只需要rm /.../mongod.lock就好