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

安装mongodb

https://www.mongodb.com/download-center?jmp=nav#community
下载linux版本,tar -zxvf解压之后,路径放入/usr/local/mongodb/

image.png

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

#
/usr/local/mongodb/bin/mongod
 --dbpath=/usr/local/mongodb/data/ --logpath=/usr/local/mongodb/data/mongodb.log --logappend&
image.png

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

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

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

linux下mongodb安装以及php扩展安装等!_第1张图片
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可查看版本!
image.png

php加载mongo扩展:

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


linux下mongodb安装以及php扩展安装等!_第2张图片
image.png
编译安装php7的mongodb扩展

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

linux下mongodb安装以及php扩展安装等!_第3张图片
image.png

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

phpize
 ./configure
make
#可能要执行make test
make install
#进入php安装目录执行 
 /usr/local/php/bin/pecl install mongo   #(/usr/local/php/bin/pecl install mongodb)
linux下mongodb安装以及php扩展安装等!_第4张图片
image.png

linux下mongodb安装以及php扩展安装等!_第5张图片
image.png

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


linux下mongodb安装以及php扩展安装等!_第6张图片
image.png

php.ini文件加入mongo扩展:


image.png

phpinfo查看有无mongo模块:


linux下mongodb安装以及php扩展安装等!_第7张图片
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

linux下mongodb安装以及php扩展安装等!_第8张图片
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

linux下mongodb安装以及php扩展安装等!_第9张图片
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:[email protected]:27017/cwc_qpl_sys,php页面依旧报错无权限:

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

linux下mongodb安装以及php扩展安装等!_第10张图片
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()

linux下mongodb安装以及php扩展安装等!_第11张图片
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地址,账号以及密码
linux下mongodb安装以及php扩展安装等!_第12张图片
image.png
2、切换Authentication选项,输入mongodb数据库,数据库账号以及密码
linux下mongodb安装以及php扩展安装等!_第13张图片
image.png
3、切换Connection选项,输入连接名称,Address和port,先Test通过了再Save!
linux下mongodb安装以及php扩展安装等!_第14张图片
image.png

你可能感兴趣的:(linux下mongodb安装以及php扩展安装等!)