时间:2021-07-01 10:21:17 帮助过:8人阅读
[root@localhost ~]# ll total 82988 -rw-------. 1 root root 2029 Nov 16 15:05 anaconda-ks.cfg -rw-r--r--. 1 root root 2060 Nov 16 15:08 initial-setup-ks.cfg -rwxrwxrwx. 1 root root 84970205 Nov 16 15:13 mongodb-linux-x86_64-rhel70-4.0.4.tgz [root@localhost ~]# [root@localhost ~]# mkdir -p /usr/local/mongodb [root@localhost ~]# chmod 755 /usr/local/mongodb [root@localhost ~]# [root@localhost ~]# tar -zxvf mongodb-linux-x86_64-rhel70-4.0.4.tgz mongodb-linux-x86_64-rhel70-4.0.4/README mongodb-linux-x86_64-rhel70-4.0.4/THIRD-PARTY-NOTICES mongodb-linux-x86_64-rhel70-4.0.4/MPL-2 mongodb-linux-x86_64-rhel70-4.0.4/LICENSE-Community.txt mongodb-linux-x86_64-rhel70-4.0.4/bin/mongodump mongodb-linux-x86_64-rhel70-4.0.4/bin/mongorestore mongodb-linux-x86_64-rhel70-4.0.4/bin/mongoexport mongodb-linux-x86_64-rhel70-4.0.4/bin/mongoimport mongodb-linux-x86_64-rhel70-4.0.4/bin/mongostat mongodb-linux-x86_64-rhel70-4.0.4/bin/mongotop mongodb-linux-x86_64-rhel70-4.0.4/bin/bsondump mongodb-linux-x86_64-rhel70-4.0.4/bin/mongofiles mongodb-linux-x86_64-rhel70-4.0.4/bin/mongoreplay mongodb-linux-x86_64-rhel70-4.0.4/bin/mongod mongodb-linux-x86_64-rhel70-4.0.4/bin/mongos mongodb-linux-x86_64-rhel70-4.0.4/bin/mongo mongodb-linux-x86_64-rhel70-4.0.4/bin/install_compass [root@localhost ~]# [root@localhost ~]# mv mongodb-linux-x86_64-rhel70-4.0.4/bin /usr/local/mongodb/ [root@localhost ~]# [root@localhost ~]# ll -R /usr/local/mongodb/ /usr/local/mongodb/: total 0 drwxr-xr-x. 2 root root 231 Nov 19 15:47 bin /usr/local/mongodb/bin: total 253744 -rwxr-xr-x. 1 root root 12393712 Nov 7 03:48 bsondump -rwxr-xr-x. 1 root root 5792 Nov 7 04:06 install_compass -rwxr-xr-x. 1 root root 39753304 Nov 7 04:06 mongo -rwxr-xr-x. 1 root root 62170704 Nov 7 04:06 mongod -rwxr-xr-x. 1 root root 14702992 Nov 7 03:49 mongodump -rwxr-xr-x. 1 root root 12733096 Nov 7 03:48 mongoexport -rwxr-xr-x. 1 root root 12634648 Nov 7 03:48 mongofiles -rwxr-xr-x. 1 root root 12892232 Nov 7 03:49 mongoimport -rwxr-xr-x. 1 root root 15800824 Nov 7 03:49 mongoreplay -rwxr-xr-x. 1 root root 15821528 Nov 7 03:49 mongorestore -rwxr-xr-x. 1 root root 35363672 Nov 7 04:06 mongos -rwxr-xr-x. 1 root root 12947464 Nov 7 03:48 mongostat -rwxr-xr-x. 1 root root 12589240 Nov 7 03:49 mongotop [root@localhost ~]# [root@localhost ~]# echo $PATH /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin [root@localhost ~]# [root@localhost ~]# export PATH=/usr/local/mongodb/bin:$PATH [root@localhost ~]# [root@localhost ~]# echo $PATH /usr/local/mongodb/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin [root@localhost ~]#
注意:这里是把bin目录绝对路径临时添加到环境变量中,重启系统后,将恢复默认环境变量;
[root@localhost ~]# mkdir -p /home/Anliven/data/db [root@localhost ~]# chmod 755 /home/Anliven/data/dbMongoDB的数据存储目录不会自动创建,需要手动创建data目录,并设置合适的访问权限; 注意:MongoDB默认启动的数据库路径是“/data/db”,也必须手动创建,否则mongodb会报错;
[root@localhost ~]# /usr/local/mongodb/bin/mongod --dbpath=/home/Anliven/data/db --auth 2018-11-20T09:57:23.501+0800 I CONTROL [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols ‘none‘ 2018-11-20T09:57:23.508+0800 I CONTROL [initandlisten] MongoDB starting : pid=18449 port=27017 dbpath=/home/Anliven/data/db 64-bit host=localhost.localdomain 2018-11-20T09:57:23.508+0800 I CONTROL [initandlisten] db version v4.0.4 2018-11-20T09:57:23.508+0800 I CONTROL [initandlisten] git version: f288a3bdf201007f3693c58e140056adf8b04839 2018-11-20T09:57:23.508+0800 I CONTROL [initandlisten] OpenSSL version: OpenSSL 1.0.1e-fips 11 Feb 2013 2018-11-20T09:57:23.508+0800 I CONTROL [initandlisten] allocator: tcmalloc 2018-11-20T09:57:23.508+0800 I CONTROL [initandlisten] modules: none 2018-11-20T09:57:23.508+0800 I CONTROL [initandlisten] build environment: 2018-11-20T09:57:23.508+0800 I CONTROL [initandlisten] distmod: rhel70 2018-11-20T09:57:23.508+0800 I CONTROL [initandlisten] distarch: x86_64 2018-11-20T09:57:23.508+0800 I CONTROL [initandlisten] target_arch: x86_64 2018-11-20T09:57:23.508+0800 I CONTROL [initandlisten] options: { security: { authorization: "enabled" }, storage: { dbPath: "/home/Anliven/data/db" } } ...... ...... ......从命令的日志,可以看到详细的启动信息,例如:
[Anliven@localhost ~]$ cd /usr/local/mongodb/bin/ [Anliven@localhost bin]$ ll total 253744 -rwxr-xr-x. 1 root root 12393712 Nov 7 03:48 bsondump -rwxr-xr-x. 1 root root 5792 Nov 7 04:06 install_compass -rwxr-xr-x. 1 root root 39753304 Nov 7 04:06 mongo -rwxr-xr-x. 1 root root 62170704 Nov 7 04:06 mongod -rwxr-xr-x. 1 root root 14702992 Nov 7 03:49 mongodump -rwxr-xr-x. 1 root root 12733096 Nov 7 03:48 mongoexport -rwxr-xr-x. 1 root root 12634648 Nov 7 03:48 mongofiles -rwxr-xr-x. 1 root root 12892232 Nov 7 03:49 mongoimport -rwxr-xr-x. 1 root root 15800824 Nov 7 03:49 mongoreplay -rwxr-xr-x. 1 root root 15821528 Nov 7 03:49 mongorestore -rwxr-xr-x. 1 root root 35363672 Nov 7 04:06 mongos -rwxr-xr-x. 1 root root 12947464 Nov 7 03:48 mongostat -rwxr-xr-x. 1 root root 12589240 Nov 7 03:49 mongotop [Anliven@localhost bin]$ ./mongo MongoDB shell version v4.0.4 connecting to: mongodb://127.0.0.1:27017 Implicit session: session { "id" : UUID("562febfc-d408-4f7c-b3a7-a230c64c2c38") } MongoDB server version: 4.0.4 Welcome to the MongoDB shell. For interactive help, type "help". For more comprehensive documentation, see http://docs.mongodb.org/ Questions? Try the support group http://groups.google.com/group/mongodb-user Server has startup warnings: 2018-11-19T15:52:35.148+0800 I CONTROL [initandlisten] 2018-11-19T15:52:35.148+0800 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database. 2018-11-19T15:52:35.148+0800 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted. 2018-11-19T15:52:35.148+0800 I CONTROL [initandlisten] ** WARNING: You are running this process as the root user, which is not recommended. 2018-11-19T15:52:35.148+0800 I CONTROL [initandlisten] 2018-11-19T15:52:35.148+0800 I CONTROL [initandlisten] ** WARNING: This server is bound to localhost. 2018-11-19T15:52:35.148+0800 I CONTROL [initandlisten] ** Remote systems will be unable to connect to this server. 2018-11-19T15:52:35.148+0800 I CONTROL [initandlisten] ** Start the server with --bind_ip <address> to specify which IP 2018-11-19T15:52:35.148+0800 I CONTROL [initandlisten] ** addresses it should serve responses from, or with --bind_ip_all to 2018-11-19T15:52:35.148+0800 I CONTROL [initandlisten] ** bind to all interfaces. If this behavior is desired, start the 2018-11-19T15:52:35.148+0800 I CONTROL [initandlisten] ** server with --bind_ip 127.0.0.1 to disable this warning. 2018-11-19T15:52:35.148+0800 I CONTROL [initandlisten] 2018-11-19T15:52:35.149+0800 I CONTROL [initandlisten] 2018-11-19T15:52:35.149+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is ‘always‘. 2018-11-19T15:52:35.149+0800 I CONTROL [initandlisten] ** We suggest setting it to ‘never‘ 2018-11-19T15:52:35.149+0800 I CONTROL [initandlisten] 2018-11-19T15:52:35.149+0800 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is ‘always‘. 2018-11-19T15:52:35.149+0800 I CONTROL [initandlisten] ** We suggest setting it to ‘never‘ 2018-11-19T15:52:35.149+0800 I CONTROL [initandlisten] --- Enable MongoDB‘s free cloud-based monitoring service, which will then receive and display metrics about your deployment (disk utilization, CPU, operation statistics, etc). The monitoring data will be available on a MongoDB website with a unique URL accessible to you and anyone you share the URL with. MongoDB may use this information to make product improvements and to suggest MongoDB products and deployment options to you. To enable free monitoring, run the following command: db.enableFreeMonitoring() To permanently disable this reminder, run the following command: db.disableFreeMonitoring() --- >
进入MongoDB Shell,默认会选择 test 文档(一个空数据库),以后进入时会选择用户指定的数据库;
> help db.help() help on db methods db.mycoll.help() help on collection methods sh.help() sharding helpers rs.help() replica set helpers help admin administrative help help connect connecting to a db help help keys key shortcuts help misc misc things to know help mr mapreduce show dbs show database names show collections show collections in current database show users show users in current database show profile show most recent system.profile entries with time >= 1ms show logs show the accessible logger names show log [name] prints out the last segment of log in memory, ‘global‘ is default use <db_name> set current database db.foo.find() list objects in collection foo db.foo.find( { a : 1 } ) list objects in foo where a == 1 it result of the last line evaluated; use to further iterate DBQuery.shellBatchSize = x set default number of items to display on shell exit quit the mongo shell >
db.help():显示db常用命令帮助;
> db.help() DB methods: db.adminCommand(nameOrDocument) - switches to ‘admin‘ db, and runs command [just calls db.runCommand(...)] db.aggregate([pipeline], {options}) - performs a collectionless aggregation on this database; returns a cursor db.auth(username, password) db.cloneDatabase(fromhost) - deprecated db.commandHelp(name) returns the help for the command db.copyDatabase(fromdb, todb, fromhost) - deprecated db.createCollection(name, {size: ..., capped: ..., max: ...}) db.createView(name, viewOn, [{$operator: {...}}, ...], {viewOptions}) db.createUser(userDocument) db.currentOp() displays currently executing operations in the db db.dropDatabase() db.eval() - deprecated db.fsyncLock() flush data to disk and lock server for backups db.fsyncUnlock() unlocks server following a db.fsyncLock() db.getCollection(cname) same as db[‘cname‘] or db.cname db.getCollectionInfos([filter]) - returns a list that contains the names and options of the db‘s collections db.getCollectionNames() db.getLastError() - just returns the err msg string db.getLastErrorObj() - return full status object db.getLogComponents() db.getMongo() get the server connection object db.getMongo().setSlaveOk() allow queries on a replication slave server db.getName() db.getPrevError() db.getProfilingLevel() - deprecated db.getProfilingStatus() - returns if profiling is on and slow threshold db.getReplicationInfo() db.getSiblingDB(name) get the db at the same server as this one db.getWriteConcern() - returns the write concern used for any operations on this db, inherited from server object if set db.hostInfo() get details about the server‘s host db.isMaster() check replica primary status db.killOp(opid) kills the current operation in the db db.listCommands() lists all the db commands db.loadServerScripts() loads all the scripts in db.system.js db.logout() db.printCollectionStats() db.printReplicationInfo() db.printShardingStatus() db.printSlaveReplicationInfo() db.dropUser(username) db.repairDatabase() db.resetError() db.runCommand(cmdObj) run a database command. if cmdObj is a string, turns it into {cmdObj: 1} db.serverStatus() db.setLogLevel(level,<component>) db.setProfilingLevel(level,slowms) 0=off 1=slow 2=all db.setWriteConcern(<write concern doc>) - sets the write concern for writes to the db db.unsetWriteConcern(<write concern doc>) - unsets the write concern for writes to the db db.setVerboseShell(flag) display extra information in shell output db.shutdownServer() db.stats() db.version() current version of the server >
一些示例:
> db test > > show dbs admin 0.000GB config 0.000GB local 0.000GB > > use local switched to db local > > db local > > exit bye [Anliven@localhost bin]$
在此界面不仅可以插入一些简单的数据、对插入的数据进行检索,还可以进行简单数学运算;
> 111 + 222 333 > 666 / 111 6 >
DB - MongoDB
标签:手动 create 变量 oba short 字段 status config unlock