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


posted @ 2022-07-25 08:47  十一没有撤退可言!  阅读(110)  评论(0编辑  收藏  举报