이 장에서는 mongodb에서 자신만의 데이터베이스를 빠르게 구축하는 방법을 소개합니다. 도움이 필요한 친구들이 참고할 수 있기를 바랍니다.
mongoddb 설치
로컬로 설치
공식 홈페이지mongodb
클라우드 서버(centos 시스템)에 설치
머신에 해당하는 압축 패키지를 직접 다운로드하세요
wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-amazon-3.4.9.tgztar zxvf mongodb-linux-x86_64-3.2.6.tgz mv mongodb-linux-x86_64-3.2.6.tgz mongodb cd mongodb
시스템에 맞게 해당 버전을 다운로드 받으세요~
환경 구성 및 서버 시작
./bin/mongod --dbpath=/usr/local/mongodb/data/db/ --rest
/에 액세스할 수 있습니다. shell일반적인 명령: #查询所有数据库 show dbs;
#删除当前使用数据库 db.dropDatabase();
#克隆主机数据 db.cloneDatabase(“127.0.0.1”);
#修复当前数据库 db.repairDatabase();
#查看当前使用的数据库 db.getName();
#显示当前db状态 db.stats();
#查看当前db的链接机器地址 db.version();
./bin/mongod --fork --dbpath=/usr/local/mongodb/data/db/ --logpath=/usr/local/mongodb/data/log/error.log -logappend --rest데이터베이스를 클라우드 서버에 배포할 때 백그라운드에서 실행해야 합니다. Centos Forever 플러그인을 처음 사용했을 때 데이터베이스를 백그라운드에서 실행할 수 없다는 것을 알았습니다. 정보를 확인한 결과, 백그라운드 서비스를 시작하는 공식 명령 --logpath --logappend 매개변수가 있어 백그라운드 서비스에 로그 로그를 추가하는 것을 발견했습니다. 나머지 효과는 위와 동일합니다.
데이터베이스를 더 직관적으로 만드세요
밀집된 데이터가 보기 흉하지 않나요? 기분이 안 좋나요? 이때 데이터베이스를 아름답게 하기 위한 플러그인이 필요합니다. 인터넷에는 mongovue, adminmongo 등이 많이 있습니다. Github에서 검색하거나 확인할 수 있습니다.다음은 데이터베이스 암호화에 관한 내용입니다. 온라인에서 공격을 받은 후 경험을 통해 배우고 암호화 프로세스를 업데이트했습니다.
최고 관리자 추가
먼저 데이터베이스를 실행하고 성공 후 쉘 작업을 실행합니다.> use admin > db.createUser( { user: "your name", pwd: "your pwd", roles: [ { role: "root", db: "admin" } ] } ) Successfully added user: { "user" : "admin", "roles" : [ { "role" : "root", "db" : "admin" } ] }root는 슈퍼 권한을 의미하므로 슈퍼 권한이 있는 계정이 생성됩니다. 다음 명령을 사용하여 사용자를 볼 수 있습니다. [이미지_088895.png 업로드 .]
db.getUsers()MongoDB 데이터베이스 역할 역할은 데이터베이스를 관리하고 제어할 수 있는 권한을 말하며, 첫 번째 사용자는 루트 사용자가 바람직하며 수행할 수 있습니다. 어떤 작업이든 초기화 시 루트 권한이 있는 사용자를 생성하는 것이 가장 좋습니다. 인증 모드가 켜져 있으면 모든 작업을 실행하려면 권한이 필요합니다. 인증을 사용하여 백그라운드 실행 모드를 직접 시작하면 안 됩니다. 그렇지 않으면 데이터베이스를 닫을 수 있는 권한이 없습니다.
인증 모드 활성화
슈퍼 관리자를 생성한 후 실제로 암호화된 데이터베이스를 시작할 수 있습니다. 그렇지 않으면 자신도 데이터베이스를 운영할 권한이 없습니다.//后台模式需要在shell中关闭之前的普通模式数据库,输入以下命令 > use admin > db.shutdownServer() //终端 启动加密数据库 --auth $ ./bin/mongod --fork --dbpath=/root/mongodb/db/ --logpath=/root/mongodb/log/error.log -logappend --auth //通过命令运行数据库 ,在你的运行命令加上后缀 --auth,这样就启动了加密数据库 ,再次执行数据库操作 > show dbs 2017-09-23T14:09:58.922+0800 E QUERY [thread1] Error: listDatabases failed:{ "ok" : 0, "errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }", "code" : 13, "codeName" : "Unauthorized" } : _getErrorWithCode@src/mongo/shell/utils.js:25:13 Mongo.prototype.getDBs@src/mongo/shell/mongo.js:62:1 shellHelper.show@src/mongo/shell/utils.js:769:19 shellHelper@src/mongo/shell/utils.js:659:15 @(shellhelp2):1:1 // 发现报错,需要认证信息 > db.auth('your name','your pwd') 成功返回1 失败返回0 输入之前创建的超级账号,OK,简单的加密就完成了。암호화에 성공했습니다. 데이터베이스를 작동하려면 인증이 필요합니다🎜
链接加密数据库
数据库加密后我们的服务端代码也要相应变动。
xxx.db('mongodb://your name: your pwd@localhost:27017/db?authSource=admin');
xxx表示你用的插件 比如 mongoose 、mongoskin之类的。
到此为止,你的数据库就加密完成了,当你的项目变大,你也许还需要创建许多用户,或者升级用户权限,这些官方都有相关的API去操作。
위 내용은 mongodb에서 자신만의 데이터베이스를 빠르게 구축하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!