一、安裝mongodb
1.下載安裝包
下載方式:
curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-3.2.9.tgz
解壓縮壓縮包:
tar zxvf mongodb-linux-x86_64-3.2.9.tgz
- 安裝準備
創建數據庫文件夾與日誌文件、配置文件:
mkdir -p /Data/data/mongodb/data
touch /Data/apps/mongodb/mongod.log
touch /Data/apps/mongodb/mongodb.conf
將mongodb移動到 /Data/apps/mongodb/文件夾:
mv mongodb-linux-x86_64-3.2.9/* /Data/apps/mongodb/
- 啓動mongodb(有兩種方式)
參數啓動:
參數啓動可以直接在命令後面加配置參數,也可以加配置文件啓動,如下加配置參數啓動:
cd /Data/apps/mongodb/bin/mongod/bin/
./mongod --dbpath=/Data/apps/mongodb/data--logpath=/Data/apps/mongodb/mongod.log--logappend--port=27017--fork
注:如果加權限就用 –auth 參數,不需要權限就去掉
如果在配置文件中配置好各項參數,則可以使用配置文件啓動:
./mongod --config/Data/apps/mongodb/mongodb.conf
附錄:mongodb配置文件詳解
系統服務啓動:
使用系統服務命令啓動需要先將服務加入到系統服務中,附錄:將mongod添加到系統服務
service mongod start|stop|restart
注:可以將mongodb臨時加入系統路徑變量中,這樣可以不用輸入路徑直接啓動,代碼如下:
export PATH=/Data/apps/mongodb/bin:$PATH
然後可以查看是否成功:echo $PATH
4. 參數解釋:
--dbpath 數據庫路徑(數據文件)
--logpath 日誌文件路徑
--master 指定爲主機器
--slave 指定爲從機器
--source 指定主機器的IP地址
--pologSize 指定日誌文件大小不超過64M.因爲resync是非常操作量大且耗時,最好通過設置一個足夠大的oplogSize來避免resync(默認的 oplog大小是空閒磁盤大小的5%)。
--logappend 日誌文件末尾添加
--port 啓用端口號
--fork 在後臺運行
--only 指定只複製哪一個數據庫
--slavedelay 指從複製檢測的時間間隔
--auth 是否需要驗證權限登錄(用戶名和密碼)
--config 配置文件位置
二、用戶授權和管理
1、mongodb安裝好後第一次進入是不需要密碼的,也沒有任何用戶,通過shell命令可直接進入,cd到mongodb目錄下的bin文件夾,執行命令./mongo即可
運行如下:
[root@namenode mongodb]# ./bin/mongo
MongoDB shell version: 1.8.2
connecting to: test
> use test;
switched to db test
2、添加管理用戶(mongoDB 沒有無敵用戶root,只有能管理用戶的用戶 userAdminAnyDatabase),
>use admin
>db.createUser( {user: "admin",pwd: "123456",roles: [ { role: "userAdminAnyDatabase", db: "admin" } ]})
注:添加完用戶後可以使用show users或db.system.users.find()查看已有用戶
3、添加完管理用戶後,關閉MongoDB,並使用權限方式再次開啓MongoDB,這裏注意不要使用kill直接去殺掉mongodb進程,(如果這樣做了,請去data/db目錄下刪除mongo.lock文件),可以使用db.shutdownServer()關閉
4、使用權限方式啓動MongoDB
./mongod --dbpath=/Data/data/mongo/data --logpath=/Data/apps/mongodb/mongo.log --fork --auth
或者在配置文件中修改:
auth = true
#noauth = true
5、進入mongo shell,使用admin數據庫並進行驗證,如果不驗證,是做不了任何操作的。
> use admin
> db.auth("admin","123456") #認證,返回1表示成功
6、驗證之後還是做不了操作,因爲admin只有用戶管理權限,下面創建用戶,用戶都跟着庫走,
> use mydb
> db.createUser({user: "root",pwd: "123456",roles: [{ role: "readWrite", db: "mydb" }]})
7、使用創建的用戶root登錄進行數據庫操作:
[root@localhost mongodb]# mongo 127.0.0.1/mydb -uroot -p
MongoDB shell version: 3.2.9
Enter password:
connecting to: 127.0.0.1/mydb
> db
mydb
> use mydb
switched to db mydb
> show collections
然後就可以進行增刪改查各種數據操作…
三、Linux下安裝PHP的MongoDB擴展
因爲是手動安裝的MongoDB,所以也需要編譯安裝MongoDB擴展,步驟如下:
1)下載最新的php mongodb擴展源碼,源碼可以在
http://pecl.php.net/package/mongo下載.
2)解壓,進入安裝目錄
wget http://pecl.php.net/get/mongodb-1.4.1.tgz //mongo.***的版本已經不支持了
tar -zxvf mongodb-1.4.1.tgz
cd mongodb-1.4.1
3)進入文件夾後,首先運行phpize來編譯擴展的環境
[root@localhost mongodb-1.4.1]# /Data/apps/php7/bin/phpize
Configuring for:
PHP Api Version: 20121113
Zend Module Api No: 20121212
Zend Extension Api No: 220121212
4)運行後,我們運行./configure腳本來進行配置
./configure --with-php-config=/Data/apps/php7/bin/php-config && make && make install
## --with-php-config 這個參數是告訴配置腳本 php-config 這個程序的路徑
5)完成後,請編輯你php.ini文件增加一行
extentsion_dir = "/Data/apps/php7/lib/php/extensions/o-debug-zts-20151012/"//就是找到你擴展的位置 加入進去
extension=mongodb.so
一般默認的編譯php的ini文件/usr/local/php/etc/php.ini
重啓Apache/Nginx[或者重啓 php-fpm ] 打開 phpinfo
看到mongo模塊,證明MongoDB的php擴展安裝成功。
OK ,至此你可以使用php來操作 MongoDB 了