安装MongoDB数据库
环境:
CentOs6.8
64位系统
php7
Mysql5.6
1.官网下载对应版本的mongodb,下载地址 https://www.mongodb.org/downloads#production
2.通过FileZilla将刚下载的安装包mongodb-linux-x86_64-3.4.3.tgz上传到测试服务器的/tmp目录下,
a) 执行命令tar -zxvf mongodb-linux-x86_64-3.4.3.tgz解压到当前目录下(/tmp)
3.执行如下命令复制文件夹到/usr/local/mongodb目录
cp -r mongodb-linux-x86_64-3.4.3 /usr/local/mongodb
4、 MongoDB 的可执行文件位于 bin 目录下,所以可以将其添加到 PATH 路径中
执行命令
vim /etc/profile
并添加
#set mongodb command
export PATH=/usr/local/mongodb/bin:$PATH
执行如下命令使配置生效
source /etc/profile
cd /usr/local/mongodb
mkdir data
6.、启动mongodb,这里指定数据库目录选项为/data/mongodb
mongod --dbpath /usr/local/mongodb/data
看到如下图提示则启动成了!
7、 配置mongodb,执行如下命令
vi /usr/local/mongodb/mongodb.conf
并将下面配置复制进去
port=27017 #端口号
dbpath=/usr/local/mongodb/data/ #数据库路径
#rest=true #设置后打开28017网页端口
logpath=/usr/local/mongodb/log/mongodb.log #日志输出文件路径 需要自己创建log目录
pidfilepath=/usr/local/mongodb/mongo.pid
fork=true #设置后台运行
logappend=true #日志输出方式
shardsvr=true
#directoryperdb=true
#auth=true #开启认证
8、 添加mongodb为系统服务,并设置开机启动
1) 添加mongodb系统服务
vim /etc/rc.d/init.d/mongod
将下面配置粘贴进去,保存
#!/bin/sh
# chkconfig: - 64 36
# description:mongod
case $1 in
start)
/usr/local/mongodb/bin/mongod --maxConns 20000 --config /usr/local/mongodb/mongodb.conf
;;
stop)
/usr/local/mongodb/bin/mongod 127.0.0.1:27017/admin --eval "db.shutdownServer()"
;;
status)
/usr/local/mongodb/bin/mongod 127.0.0.1:27017/admin --eval "db.stats()"
;;
esac
2) 添加脚本执行权限
chmod +x /etc/rc.d/init.d/mongod
3)设置开机启动
chkconfig mongod on
4)启动mongodb,如下图启动成功
9.、设置远程访问,即对外开发端口27017,28017
MongoDB 的 Web 界面访问端口比服务的端口多1000。
如果你的MongoDB运行端口使用默认的27017,你可以在端口号为28017访问web用户界面。
1) 编辑iptables文件
vim /etc/sysconfig/iptables
增加如下内容:
-A INPUT -m state --state NEW -m tcp -p tcp --dport 27017 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 28017 -j ACCEPT
2) 重启iptables服务
service iptables restart
10. 分配用户
1)mongodb是没有默认管理员账号,所以要先添加管理员账号,在开启权限认证。
2)切换到admin数据库,添加的账号才是管理员账号。
3)用户只能在用户所在数据库登录,包括管理员账号。
4) 管理员可以管理所有数据库,但是不能直接管理其他数据库,要先在admin数据库认证后才可以。这一点比较怪
执行如下命令添加用户
> use admin
> db.createUser({user:"admin",pwd:"123456",roles:["readWrite","dbAdmin"]});
要在登录时使用用户名,还要修改配置文件
vim /usr/local/mongodb/mongodb.conf
把auth=true前面的#去掉,重启mongodb
再直接执行命令时就提示用户名认证了
> show dbs
2016-04-08T15:52:54.649+0800 E QUERY [thread1] Error: listDatabases failed:{
"ok" : 0,
"errmsg" : "not authorized on admin to execute command { listDatabases: 1.0 }",
"code" : 13
} :
认证:
> use admin
switched to db admin
> db.auth("admin","123456");
1
安装PHP MongoDB扩展
一、下载Mongodb-php扩展安装包
可以从Github上面下载,地址是https://pecl.php.net/package/mongodb
自己根据php版本下载相应版本扩展。
下载好的文件放到随意一个目录,然后进行解压。
安装前需要安装好一系列的编译工具,如果已经安装,可以跳过此步。
安装编译工具
yum install php-devel php-pear gcc gcc-c++ autoconf automake
还需要安装openssl-devel
yum install openssl-devel
至此,所有的前期工作已经准备完毕。
二、编译安装mongodb-php扩展
我下载到的mongodb-php扩展文件的文件名是mongodb-1.2.9.tgz,放到 / 目录下。
解压mongodb-1.2.9.tgz到mongo-php.然后进入mongodb-php目录
tar -zxvf mongodb-1.2.9.tgz
mv mongodb-1.2.9 mongodb-php
cd mongodb-php
phpize
./configure --with-php-config=/usr/local/php7/bin/php-config #你的服务器php地址
make
make install
如果安装过程中没有问题的话,在make install后会出现php的驱动目录,例如:
Installing shared extensions: /usr/lib64/php/modules/
要在 PHP 启动的时候加载这个扩展,在/etc/php.ini中添加以下代码:
[MongoDB]
extension=mongodb.so
三、重启Apache服务
service httpd restart
输出phpinfo();如果看到mongodb就表示安装成功了。
四、测试PHP代码连接MongoDB
try{
$manager = new MongoDB\Driver\Manager('mongodb://localhost:27017');
}catch(Exception $e){
echo $e->getMessage();
}
不报错,则为成功;至于为神马连接的是manager 是因为mongodb更新连接如此。
注意:下载扩展为mongodb,本人安装的时候测试安装mongo扩展,没有什么效果
因为时间关系有几张图不是现在的图,但不影响安装过程。