php 安装mongodb,linux下mongodb安装以及php扩展安装等!

安装mongodb

5bf26a1acc82

image.png

进入mongodb目录,创建data/db和data/mongodb.log然后执行:

#

/usr/local/mongodb/bin/mongod

--dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/data/mongodb.log --logappend&

5bf26a1acc82

image.png

将客户端mogo文件在/bin下软链接,方便随处执行:

ln -s /usr/``local``/mongodb/bin/mongo /bin/mongo`

mongo客户端访问数据库 ./mongo

5bf26a1acc82

image.png

添加开机自启动:

编辑:/etc/rc.d/rc.local 追加:

touch /var/lock/subsys/local

/usr/local/mongodb/bin/mongod --dbpath /usr/local/mongodb/data/db --fork --port 27017 --logpath=/usr/local/mongodb/data/mongodb.log --logappend --auth

任意位置:mongo可查看版本!

5bf26a1acc82

image.png

php加载mongo扩展:

打开phpinfo 查看 nts(非线程) 还是 ts (线程),操作位数;下载对应的版本!

5bf26a1acc82

image.png

编译安装php7的mongodb扩展

php7的PECL库的网址:http://pecl.php.net/,搜索mongodb下载合适的版本!

5bf26a1acc82

image.png

解压,进入目录,然后执行命令:

phpize

./configure

make

#可能要执行make test

make install

#进入php安装目录执行

/usr/local/php/bin/pecl install mongo #(/usr/local/php/bin/pecl install mongodb)

5bf26a1acc82

image.png

5bf26a1acc82

image.png

安装成功,扩展所在目录:

5bf26a1acc82

image.png

php.ini文件加入mongo扩展:

5bf26a1acc82

image.png

phpinfo查看有无mongo模块:

5bf26a1acc82

image.png

查看php扩展:php -m

开启mongo

1.进入mongodb下的bin目录执行命令:./mongod --dbpath /usr/local/mongodb/data/db --fork --port 27017 --logpath=/usr/local/mongodb/data/mongodb.log --logappend

2.进入mongodb下的bin目录执行命令:./mongod -f /usr/local/mongodb/mongo.conf

mongodb目录下mongo.conf 文件内容如下:

#####start

fork = true

bind_ip = 127.0.0.1

port = 27017

quiet = true

dbpath = /usr/local/mongodb/data/ #mongo数据存储路径

logpath = /usr/local/mongodb/data/mongodb.log #mongo日志路径

logappend = true

journal = true

auth = true #true开启鉴权,false关闭鉴权

######end

关闭mongo

命令行执行命令:killall mongod即可关闭mongo服务!

进入mongo

1.未开启鉴权进入mongo路径下的bin目录输入:mongo就可以进入mongo数据库了,如果ip不是127.0.0.1或者端口不是27017则需要带上ip和端口,例如:mongo 192.168.1.243:7788

5bf26a1acc82

image.png

2.开启了鉴权--auth,则在bin目录输入 mongo 127.0.0.1:27017/cwc_qpl_sys -uqpladmin -pqpladmin

或者:mongo 127.0.0.1:27017/cwc_qpl_sys -u root -p

>password:xxxxx

5bf26a1acc82

image.png

数据导入导出:

导出数据库:./mongodump -h 127.0.0.1:27017 -d cwc_qpl_sys -u qpladmin -p qudaqipilang -o /usr/local/src/databack/

导入数据库:./mongorestore -h 192.168.17.129:27017 -d cwc_qpl_sys --dir /usr/local/src/cwc_qpl_sys/

mongodb 3.4下远程连接认证失败的解决方法

没开启--auth情况下,输入:

mongo #进入mongo数据库

use admin #切换到用户表

db.system.users.find() #查找所有用户

#在admin数据库创建可读写cwc_qpl_sys的用户

db.createUser(

... {

... user: "qpl",

... pwd: "qpl",

... roles: [ { role: "readWrite", db: "cwc_qpl_sys" } ]

... }

... )

上面创建的用户还是没有权限访问数据库,网上查资料,说是要切换到使用的数据库创建用户:

use cwc_qpl_sys

db.createUser(

... {

... user: "qpl",

... pwd: "qpl",

... roles: [ { role: "readWrite", db: "cwc_qpl_sys" } ]

... }

... )

php的model代码里连接mongo:mongodb://qpl:qpl@127.0.0.1:27017/cwc_qpl_sys,php页面依旧报错无权限:

解决:进入php安装目录找到pecl,执行: pecl upgrade mongo更新php的mongo扩展!或者手动更新mongo版本。。。

5bf26a1acc82

image.png

> db.system.version.find()

{ "_id" : "featureCompatibilityVersion", "version" : "3.4" }

{ "_id" : "authSchema", "currentVersion" : 5 }

删除所有用户:db.dropUser('username')

更改mongo版本:

>db.system.version.update({"_id":"authSchema"},{$set:{"currentVersion":3}})

正确创建用户的命令:

use cwc_qpl_sys #切换数据库

#创建用户

db.createUser({

user:'root',

pwd:'root',

roles:[{

"role":"userAdminAnyDatabase",

"db":"admin"

},{

"role":"readWrite",

"db":"cwc_qpl_sys"

}]

})

查看创建的用户:db.getUsers()

5bf26a1acc82

image.png

鉴权:

killall mongod #结束mongod进程

./mongod -f /usr/local/mongodb/mongo.conf #开启mongo

mongo 127.0.0.1:27017/cwc_qpl_sys -uqpl -pxxx #命令行使用用户名密码进入数据库

use cwc_qpl_sys #切换数据库

#查看文档/表

show collections;

show tables;

使用Robomongo连接远程数据库:

1、使用ssh连接远程服务器,输入IP地址,账号以及密码

5bf26a1acc82

image.png

2、切换Authentication选项,输入mongodb数据库,数据库账号以及密码

5bf26a1acc82

image.png

3、切换Connection选项,输入连接名称,Address和port,先Test通过了再Save!

5bf26a1acc82

image.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值