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
标签:mongdb,err,mongodb,local,data,usr,使用,安装,MONGDB 来源: https://www.cnblogs.com/06080410z/p/16516199.html