查看“Mongodb基础”的源代码
←
Mongodb基础
跳到导航
跳到搜索
因为以下原因,您没有权限编辑本页:
您所请求的操作仅限于该用户组的用户使用:
用户
您可以查看与复制此页面的源代码。
=install= == yum or apt== [https://mirrors.tuna.tsinghua.edu.cn/help/mongodb/ MongoDB国内apt yum镜像使用帮助] ==[[Docker mongo]]== install in Docker == bin == <pre>wget -c https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.0.tgz 在国内 可能有点慢 可以放国个下载再拉回来 什么的 mv mongodb-linux-x86_64-3.2.0/ /data/apps/mongodb echo 'export PATH=$PATH:/data/apps/mongodb/bin/' >> /etc/profile or cat >> /etc/profile <<EOF export PATH=$PATH:/data/apps/mongodb/bin EOF source /etc/profile </pre> ==测试安装== <pre> portX 可选的指定端口,如果不填,默认为27017 新建一个目录data存放mongodb数据: mkdir /data/apps/mongodb/data/ 用以下其中一个命令启动mongod: mongod --dbpath /data/apps/mongodb/data/ mongod --dbpath /data/apps/mongodb/data --auth mongod --dbpath /data/apps/mongodb/data --config /etc/mongodb.conf --auth 这时mongod已经启动,重新打开一个终端, 键入mongo进入交互程序: $> mongo > show dbs ...数据库列表 3. 导入初始数据 leanote初始数据存放在 leanote/mongodb_backup/leanote_install_data中。 root@mypi3b:/data/apps# ls leanote/mongodb_backup/leanote_install_data/ albums.bson has_share_notes.bson share_notebooks.bson albums.metadata.json has_share_notes.metadata.json share_notebooks.metadata.json cat leanote/mongodb_backup/leanote_install_data/albums.metadata.json {"indexes":[{"v":1,"key":{"_id":1},"name":"_id_","ns":"leanote_bin_test.albums"},{"v":1,"key":{"UserId":1},"name":"UserId_1","ns":"leanote_bin_test.albums","background":true}]} 打开终端, 输入以下命令导入数据。 $> mongorestore -h localhost -d leanote --dir leanote/mongodb_backup/leanote_install_data/ $> mongo > show dbs # 查看数据库 leanote 0.203125GB local 0.078125GB > use leanote # 切换到leanote switched to db leanote > show collections # 查看表 files has_share_notes note_content_histories note_contents</pre> =[[MongoDB安全认证]]= =常用命令= [https://www.runoob.com/mongodb/mongodb-connections.html MongoDB - 连接] <pre> evan@myxps:~/downloads/mongosh-1.0.7-linux-x64/bin$ ./mongosh --host 192.168.10.120 --port 27018 Current Mongosh Log ID: 614beac584f560bae1d83f92 Connecting to: mongodb://192.168.10.120:27018/?directConnection=true > show dbs #显示数据库列表 > show collections #显示当前数据库中的集合(类似关系数据库中的表) > show users #显示用户 > use <db name> #切换当前数据库,如果数据库不存在则创建数据库。 > db.help() #显示数据库操作命令,里面有很多的命令 > db.foo.help() #显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令 > db.foo.find() #对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据) > db.foo.find( { a : 1 } ) #对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1 > db.dropDatabase() #删除当前使用数据库 > db.cloneDatabase("127.0.0.1") #将指定机器上的数据库的数据克隆到当前数据库 > db.copyDatabase("mydb", "temp", "127.0.0.1") #将本机的mydb的数据复制到temp数据库中 > db.repairDatabase() #修复当前数据库 > db.getName() #查看当前使用的数据库,也可以直接用db > db.stats() #显示当前db状态 > db.version() #当前db版本 > db.getMongo() #查看当前db的链接机器地址 > db.serverStatus() #查看数据库服务器的状态 use djs_kuafu_4; 建库 db.addUser("name","passwd");授权 MongoDB 删除数据库的语法格式如下: use 数据库名; db.dropDatabase() 删除当前数据库,默认为 test,你可以使用 db 命令查看当前数据库名。 实例 以下实例我们删除了数据库 runoob。 首先,查看所有数据库: > show dbsuse mongodb 常用命令 查看所有数据库 show dbs 查看当前选择的库 db 查看库下的所有集合 show tables show collections 删除库(这种方式删除数据目录还会有数据文件夹的) use dbname db.dropDatabase() 用这个方式可以清理文件下的内容,然后删掉目录即可 use s1 db.dropDatabase() db.repairDatabase() 删除集合 db.mytable.drop() 添加用户 use dbname db.addUser('admin','123456') 更改密码 db.addUser("admin","a123456") 删除用户 db.system.users.remove({admin:"a123456"}) 或者 db.removeUser('admin') 用户授权db.createUser({user:"su",pwd:"fenggu123$%^",roles:[ { role:"root", db:"admin" } ] }); db.auth('admin','a123456') ??????? 查看用户列表 db.system.users.find() 查看所有用户 show users 关闭服务 > use admin switched to db admin db.shutdownServer(); mongod --shutdown --dbpath /database/mongodb/data/ 查询集合 db.users.find() 条件查询 db.users.find({age:33}) 多个条件查询 db.users.find({age:33}),({a:1,b:1}) 查看负载 mongostat -h127.0.0.1:28018 -ufengguadmin -pfenggu123$%^ --authenticationDatabase=admin 备份所有 mongodump -h127.0.0.1:28018 -ufengguadmin '-pfenggu123$%^' -o /data/mongodb_backup/ -- authenticationDatabase=admin 恢复 mongorestore -h127.0.0.1:28018 -ufengguadmin -pfenggu123$%^ --db=s1 -- dir=/data/mongodb_backup/mongod_bak_now/2016_06_27/s1/ --authenticationDatabase=admin </pre> == MongoDB 创建数据库== <pre> MongoDB 创建数据库的语法格式如下: use DATABASE_NAME 如果数据库不存在,则创建数据库,否则切换到指定数据库。 可以看到,我们刚创建的数据库 mydb 并不在数据库的列表中, 要显示它,我们需要向 mongo 数据库插入一些数据。 use mydb switched to db mydb db.mydb.insert({"name":"linuxsa"}) WriteResult({ "nInserted" : 1 }) > show dbs leanote 0.125GB local 0.03125GB mydb 0.0625GB </pre> [https://www.mongodb.org.cn/tutorial/8.html MongoDB 创建数据库] =监控= [https://www.cnblogs.com/ahaii/p/7146290.html 利用Zabbix监控MongoDB] =7启动脚本 = https://github.com/mongodb/mongo/blob/master/rpm/mongod.service <pre> [root@k8sn1 ~]# cat /etc/mongod.conf # mongod.conf # for documentation of all options, see: # http://docs.mongodb.org/manual/reference/configuration-options/ # where to write logging data. systemLog: destination: file logAppend: true # path: /var/log/mongodb/mongod.log path: /data/logs/mongod.log # Where and how to store data. storage: dbPath: /data/apps/mongodb/data/ # dbPath: /var/lib/mongo journal: enabled: true # engine: # mmapv1: # wiredTiger: # how the process runs processManagement: fork: true # fork and run in background pidFilePath: /var/run/mongodb/mongod.pid # location of pidfile timeZoneInfo: /usr/share/zoneinfo # network interfaces net: port: 27017 bindIp: 127.0.0.1 # Enter 0.0.0.0,:: to bind to all IPv4 and IPv6 addresses or, alternatively, use the net.bindIpAll setting. #security: #operationProfiling: #replication: #sharding: ## Enterprise-Only Options #auditLog: #snmp: [root@k8sn1 ~]# cat /var/run/mongodb/mongod.pid 2376 [root@k8sn1 ~]# ll /var/run/mongodb/mongod.pid -rw-r--r-- 1 mongod mongod 5 6月 16 15:24 /var/run/mongodb/mongod.pid [root@k8sn1 ~]# cat /usr/lib/systemd/system/mongod.service [Unit] Description=MongoDB Database Server After=network.target Documentation=https://docs.mongodb.org/manual [Service] User=mongod Group=mongod Environment="OPTIONS=-f /etc/mongod.conf" EnvironmentFile=-/etc/sysconfig/mongod ExecStart=/usr/bin/mongod $OPTIONS ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb PermissionsStartOnly=true PIDFile=/var/run/mongodb/mongod.pid Type=forking # file size LimitFSIZE=infinity # cpu time LimitCPU=infinity # virtual memory size LimitAS=infinity # open files LimitNOFILE=64000 # processes/threads LimitNPROC=64000 # locked memory LimitMEMLOCK=infinity # total threads (user+kernel) TasksMax=infinity TasksAccounting=false # Recommended limits for for mongod as specified in # http://docs.mongodb.org/manual/reference/ulimit/#recommended-settings [Install] WantedBy=multi-user.target #sysv from . /lib/lsb/init-functions CONFIGFILE="/etc/mongod.conf" PROGRAM="/usr/bin/mongod" MONGOPID="/var/run/mongodb/mongod.pid" LOCK="/data/apps/mongodb/mongo/mongod.lock" test -x $PROGRAM || exit 0 case "$1" in start) ulimit -f unlimited ulimit -t unlimited ulimit -v unlimited ulimit -n 64000 ulimit -m unlimited log_begin_msg "Starting MongoDB server" $PROGRAM -f $CONFIGFILE log_end_msg 0 ;; stop) log_begin_msg "Stopping MongoDB server" # if [ -f $LOCK ]; then # rm $LOCK # fi if [ ! -z "$MONGOPID" ]; then kill $MONGOPID fi log_end_msg 0 ;; status) ;; *) log_success_msg "Usage: /etc/init.d/mongodb {start|stop|status}" exit 1 esac #!/bin/sh # chkconfig: - 64 36 # description:mongod case $1 in start) /usr/local/mongodb/bin/mongod --maxConns 20000 --config /usr/local/mongodb/mongodb.conf ;; stop) /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.shutdownServer()" ;; status) /usr/local/mongodb/bin/mongo 127.0.0.1:27017/admin --eval "db.stats()" ;; esac </pre> =关闭= <pre> ps -ef | grep mongod root 3894 6353 1 20:04 ? 00:00:04 /usr/bin/mongod -f /etc/mongod.conf root 9366 30672 0 20:09 pts/12 00:00:00 grep --color=auto mongod [root@beta- etc]# kill -2 3894 6353 [root@beta- etc]# ps -ef | grep mongod root 9828 30672 0 20:09 pts/12 00:00:00 grep --color=auto mongod </pre> = docker-compose安装mongodb= [https://www.jianshu.com/p/e48f0ec7a322 docker-compose 安装mongo] [https://www.jianshu.com/p/e48cbdd22d0e docker-compose安装mongodb说明] [https://www.cnblogs.com/raorao1994/p/14627358.html docker-compose安装mongodb ] [https://blog.csdn.net/feinifi/article/details/105098829 docker-compose构建mongodb容器实例] =参考= https://docs.mongodb.com/manual/tutorial/install-mongodb-on-red-hat/ [https://www.cnblogs.com/hunanzp/p/12297386.html Linux部署MongoDB ] [https://juejin.cn/post/6956474071252992008 linux 安装mongodb ] [https://www.runoob.com/mongodb/mongodb-linux-install.html www.runoob.com Linux平台安装MongoDB] https://www.mongodb.org.cn/ [https://www.cnblogs.com/chanshuyi/p/quick_start_of_mongodb.html MongoDb 快速入门教程] [https://blog.csdn.net/hou6386083/article/details/80719400 mongoDB基础入门一] https://www.mongodb.org.cn/tutorial/59.html [https://segmentfault.com/a/1190000018598638 Linux 安装并使用 MongoDB] [https://blog.csdn.net/xqtesting/article/details/78189147 mongodb快速入门] [https://blog.csdn.net/muguli2008/article/details/80591256 win mongodb官网下载不了, MongoDB下载、安装、配置、使用,如何下载MongoDB数据库,MongoDB入门] [https://blog.csdn.net/meiLin_Ya/article/details/80725854 NOSQL -- Mongodb的简单操作与使用(win10)] ==phpetc== [http://php.net/manual/zh/mongodb.installation.pecl.php Installing the MongoDB PHP Driver with PECL ] [http://pecl.php.net/package/mongodb MongoDB driver for PHP] [[category:nosql]] [[category:devops]]
返回至
Mongodb基础
。
导航菜单
个人工具
登录
名字空间
页面
讨论
变种
视图
阅读
查看源代码
查看历史
更多
搜索
导航
首页
我的导航
关于我
shell
python
ops
linuxchina.net
blog.linuxchina
最近更改
随机页面
帮助
工具
链入页面
相关更改
特殊页面
页面信息