微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

MONGDB安装与使用

MONGDB安装与使用 安装 1 下载mongodb安装包   网址:https://www.mongodb.com/try/download/community   官网上可以下载多个系统的mongdb安装包,windows,centos,ubuntu等等,如图 MONGDB安装与使用_java 2 安装MONGDB软件 解压mongdb 压缩包   tar xvf mongodb-linux-x86_64-rhel80-4.4.4.tgz   将解压生成的目录 改名为mongodb ,并移动到 /usr/local下   mv mongodb-linux-x86_64-rhel80-4.4.4.tgz mongodb mv mongodb /usr/local/   进入mongodb目录下   创建data目录   data目录下创建db目录   data目录下创建log目录   1mkdir data 2cd data 3mkdir db 4mkdir log   回到mongo目录下,创建mongodb的配置文件,mongodb.conf,之后启动需要用到   需要在mongodb.conf下配置   dbpath -- 数据库的数据存放位置   logpath -- 日志文件存放位置   logappend -- 日志是否以追加的方式   port -- 端口号   auth -- 是否需要认证   fork -- 是否以守护进程的方式运行   bind -- 限制远程访问的ip,不做限制的话可以写0.0.0.0   dbpath=/usr/local/mongodb/data/db logpath=/usr/local/mongodb/data/log/mongodb.log logappend=true port=27017 auth=true fork=true bind_ip=0.0.0.0   将mongodb可执行程序写入到/etc/profile 中,开机时会自动读取这个文件   1export MONGODB_HOME=/usr/local/mongodb 2export PATH=$PATH:$MONGODB_HOME/bin   启动mongodb服务   mongod -f /usr/local/mongodb/mongodb.conf   关于防火墙   1、可以直接关闭系统的防火墙   2、防火墙打开端口27017端口,以便于客户端进行连接mongdb 3 关于MONGDB的状态查看 查询mongodb状态   ps aux |grep mongodb   查看端口   netstat -antp |grep 27017   关闭mongodb   通过kill 命令杀掉 PID即可   mongod -f /usr/local/mongodb/mongodb.conf --shutdown   mongdb设置角色、用户名、密码   /usr/local/mongodb/mongodb.conf 的配置如下,我们可以把auth置为false ,auth字段开启,是开启认证,关闭则是关闭认证   MONGDB安装与使用_java_02   mongdb有多个角色   角色 用户 read、readWrite 管理员 dbAdmin、dbOwner、userAdmin 集群管理员 clusteradmin、clusterManager、clusterMonitor、hostManager 备份恢复权限 backup、restore 所有数据库权限   readAnyDatabas   ereadWriteAnyDatabase   userAdminAnyDatabase   dbAdminAnyDatabase 超级用户 root 内部角色 __system 4.1 选择数据库   1use xxx   4.2 创建管理员账号   1db.createuser({user:'admin2',pwd:'123456',roles:[{role:'readWriteAnyDatabase',db:'admin'}]})   执行后,如下效果   1Successfully added user: { 2 "user" : "admin2", 3 "roles" : [ 4 { 5 "role" : "readWriteAnyDatabase", 6 "db" : "admin" 7 } 8 ] 9}   接下来具体的mongdb数据库操作,可以看菜鸟教程学习一波,很快就会用了   https://www.runoob.com/mongodb/mongodb-create-collection.html   MONGDB安装与使用_java_03 5 mongodb设置开机启动   添加一个mongdb的服务   1vim /etc/rc.d/init.d/mongod   编写这个服务的具体实现   1start() { 2 /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf 3} 4 5stop() { 6 /usr/local/mongodb/bin/mongod --config /usr/local/mongodb/mongodb.conf --shutdown 7} 8case "$1" in 9 start) 10 start 11 ;; 12 13 stop) 14 stop 15 ;; 16 17 restart) 18 stop 19 start 20 ;; 21 *) 22 echo $"details: $0 {start|stop|restart}" 23 exit 1 24esac   对这个服务的可执行程序添加执行权限   chmod +x /etc/rc.d/init.d/mongod   启动这个服务   service mongod start   关闭这个服务   service mongod stop   重启这个服务   service mongod restart   6 可视化工具   介绍一个可视化工具,非常好用,比nosql这个工具好用多了   Robo 3T 1.3.1 下载链接如下   https://robomongo.org/download   软件操作比较简单,大家下载下来后,熟悉一下界面,就会使用了。   MONGDB安装与使用_java_04 GOLANG简单操作mongdb   mongdb的驱动大家使用比较多的有2种:   mongdb 官方的库, go.mongodb.org/mongo-driver/mongo   第三方库 gopkg.in/mgo.v2   地址为:http://labix.org/mgo   我们选用官方的驱动库来介绍mongdb简单的增,删,改,查   1type Test struct { 2 Name string `bson:"name"` 3 Age int `bson:"age"` 4 CreateTime int64 `bson:"createTime"` 5 UpdateTime int64 `bson:"updateTime"` 6} 7 8 9func initMongdb() error { 10 // 1 建立mongodb连接 11 // 填写自己的mongdb地址,端口认是 27017 12 clientOptions := options.Client().ApplyURI("mongodb://admin:123456@xxxx:27017/admin?authMechanism=SCRAM-SHA-1") 13 mclient, err := mongo.Connect(context.Todo(), clientOptions) 14 if err != nil { 15 mlog.Error(err) 16 return err 17 } 18 // 2, 选择数据库my_db 19 database := mclient.Database("admin") 20 // 3, 选择表my_collection 21 collection := mgMongoDatabase.Collection("devicetoken") 22 23 mlog.Info("connect mongdb successfully") 24 25 26 // 插入数据 27 record := &Test{ 28 Name: "小魔童", 29 CreateTime: time.Now().Unix(), 30 UpdateTime: time.Now().Unix(), 31 } 32 result, err := collection.InsertOne(context.Todo(), record) 33 if err != nil { 34 mlog.Error(err) 35 return err 36 } 37 mlog.Info(result) 38 39 // 更新数据 40 // if err := UpdateData(bson.M{"name": "xxxx"}, bson.D{{"$set", bson.M{"age": 15}}}); err != nil { 41 // mlog.Error(err) 42 // return 43 // } 44 45 46 //查询单个记录 47 //data := &Devicetoken{} 48 //err = collection.FindOne(context.Todo(),bson.M{}).Decode(data) 49 //mlog.Info(data) 50 51 //查询所有记录 52 data := []Devicetoken{} 53 cursor, err := collection.Find(context.Todo(), bson.M{}) 54 cursor.All(context.Todo(), &data) 55 mlog.Info(data) 56 57 58 // 删除一条记录 59 //res ,err := mgMongoCollection.DeleteOne(context.Todo(),bson.M{"name":"xxxx"}) 60 //if err != nil{ 61 // mlog.Warn(err) 62 //} 63 64 return nil 65}   学习mongdb 可以看看这个网站,当前这个完整还不支持 golang操作mongdb

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐