一、服务端安装篇
1、创建repo
vi /etc/yum.repos.d/mongodb-org-3.2.repo
[mongodb-org-3.2]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/
gpgcheck=0
enabled=1
2、安装MongoDB和相关工具
sudo yum install -y mongodb-org
3、启动MongoDB
service mongod start
4、如果要开启远程访问
vim /etc/mongod.conf 中修改
bindIp: 127.0.0.1 改为bindIp: 0.0.0.0
5、如果要开启验证auth,选设置admin密码再开启,不然后面没法操作
vim /etc/mongod.conf 中最后添加
security:
authorization: enabled
二、服务端操作篇
1、直接进入mongo创建管理帐号 一开没有帐号先关闭auth验证
mongo --port 27017 admin
创建超级管理员
db.createUser(
{ user: "super",
pwd: "super",
roles: [ { role: "dbAdminAnyDatabase", db: "admin" } ]
}
);
切换帐号看下是不是可以
db.auth('super', 'super');
2、创建测试库
mongo --port 27017 -usuper -psuper admin
use test
show dbs #发现没有创建test库
db.test.insert({"name":"教程"}) #插入一条数据
show dbs #再查看库的时候发现有test库了
3、创建测试库管理帐号
mongo --port 27017 -usuper -psuper admin
use test
db.createUser({user: "test", pwd: "123456", roles: [{ role: "dbOwner", db: "test" }]}) #创建
db.auth(‘test’, ‘123456’);
三、PHP的MongoDB拓展安装
1、Windows端安装,先查看phpinfo配置,x86和NTS
a)进入安装网站https://pecl.php.net/package/mongo
如果服务器是3.0后的版本 这边一定要用找比较新的,因为mongo3.0之后就不使用MONGO-CR作为默认的用户认证方式了,默认的是SCRAM-SHA-1,下载旧版本没有SCRAM-SHA-1,我这边是下载最新的
b)我这边是用PHP5.6 、NTS和X86的所以下载下面圈起来的那个,然后将php_mongo.dll丢进ext目录即可然后php.ini增加一行extension=php_mongo.dll 最后重新服务器
c)再来查看下phpinfo
2、Linux端安装一样步骤 下载和安装
# wget https://pecl.php.net/get/mongo-1.6.16.tgz #下载
# tar xvf mongo-1.6.16.tgz #解压
# cd mongo-1.6.16
# /usr/local/php/bin/phpize #调用phpize
# ./configure --with-php-config=/usr/local/php/bin/php-config
# make && make install
# vim php.ini #加入extension=mongo.so
四、PHP简单使用MongoDB
1、插入语法
$mongo = new MongoClient( "mongodb://192.168.0.8:27017");
$db = $mongo->test;//选择数据库\
$collection = $db->runoob; // 选择集合
$document = array(
"title" => "MongoDB",
"description" => "database",
"likes" => 100);
$collection->insert($document);
2、查询语法
$mongo = new MongoClient( "mongodb://192.168.0.8:27017");
$db = $mongo->test; // 选择一个数据库
$collection = $db->runoob; // 选择集合
$cursor = $collection->find();
// 迭代显示文档标题
foreach ($cursor as $document) {
print_r($document);
}
更多用法查看下面链接
https://www.runoob.com/mongodb/mongodb-connections.html
read:授予User只读数据的权限 readWrite:授予User读写数据的权限 数据库管理角色(Database Administration Roles): dbAdmin:在当前dB中执行管理操作 dbOwner:在当前DB中执行任意操作 userAdmin:在当前DB中管理User 备份和还原角色(Backup and Restoration Roles): backup restore 跨库角色(All-Database Roles): readAnyDatabase:授予在所有数据库上读取数据的权限 readWriteAnyDatabase:授予在所有数据库上读写数据的权限 userAdminAnyDatabase:授予在所有数据库上管理User的权限 dbAdminAnyDatabase:授予管理所有数据库的权限 集群管理角色(Cluster Administration Roles): clusterAdmin:授予管理集群的最高权限 clusterManager:授予管理和监控集群的权限,A user with this role can access the config and local databases, which are used in sharding and replication, respectively. clusterMonitor:授予监控集群的权限,对监控工具具有readonly的权限 hostManager:管理Server
发表评论