golang授权链接mongodb

该文涉及的所有操作都在mac下

mongodb常用命令

ps -ef|grep mongo 查看mongo进程
sudo kill 进程编号进行关闭
sudo killall mongod
sudo ./mongod 非授权启动
sudo ./mongo
show dbs 查看当前数据库
use admin 进入某个数据库
db.auth('myadmin', 'secret') 登录数据库
show users 现实用户
db 当前操作的数据库
db.createUser({user:'dice_ice',pwd:'123456',roles:['readWrite']}) 单独添加一个用户
db.createUser({user:"admin",pwd:"123456", roles:["root"]}) 添加超级用户

以授权账号的方式启动数据库
sudo ./mongod --auth
以配置文件的方式启动
sudo ./mongod -f /etc/mongod.conf --auth
例子:sudo ./mongod -f ../config/mongodb.conf

conf文件需要自己手动创建

下面是一个简单的例子

systemLog:
    quiet: false    #安静模式
    path: /data/db/logs/mongod.logs #日志地址
    logAppend: false    #如果为false则重新启动时会备份数据库
    destination: file   #日志输出
processManagement:
    fork: true #是否后台执行
    pidFilePath: /data/db/mongod.pid    #进程文件
net:
    bindIp: 127.0.0.1   #逗号隔开的允许链接的目录
    port: 27017 #端口
    maxIncomingConnections: 65536   #32768*2为默认进程允许的最大链接数
    wireObjectCheck: true   #写对象之前是否检查
    ipv6: false   #IPv6
storage:
    dbPath: /data/db    #数据库地址
    indexBuildRetry: true   #索引创建失败的时候重新启动是否继续创建
    journal:
        enabled: true   #永久存储日志文件
    directoryPerDB: false   #不同的数据库是否放在不同的目录中
    engine: wiredTiger  #引擎类型
    syncPeriodSecs: 60  #多长时间持久化一次
operationProfiling:
    slowOpThresholdMs: 100  #太慢的记录到日志
    mode: off   
security:  
    authorization: enabled #是否必须要账号密码登录
    javascriptEnabled: false #是否禁止js

mongodb重要配置

最后是golang如何以授权的方式链接数据库

dialInfo := &mgo.DialInfo{
		Addrs:    []string{url},
		Direct:   false,
		Database: dbName,
		Source:   dbName,
		Username: "dice_ice",
		Password: "123456"}
dbs, err := mgo.DialWithInfo(dialInfo)


阅读更多
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页