1. 程式人生 > >Linux下MongoDB安裝和配置詳解(一)

Linux下MongoDB安裝和配置詳解(一)

一、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 2. 安裝準備 建立資料庫資料夾與日誌檔案、配置檔案: mkdir -p  /usr/local/server/mongodb/data touch /usr/local/server/mongodb/mongod.log touch /usr/local/server/mongodb/mongodb.conf 將mongodb移動到/usr/local/server/mongdb資料夾: mv mongodb-linux-x86_64-3.2.9/* /usr/local/server/mongodb/ 3. 啟動mongodb(有兩種方式) 引數啟動: 引數啟動可以直接在命令後面加配置引數,也可以加配置檔案啟動,如下加配置引數啟動: cd /usr/local/server/mongodb/bin/mongod/bin/ ./mongod --dbpath=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/mongod.log --logappend  --port=27017 --fork 注:如果加許可權就用 --auth 引數,不需要許可權就去掉 如果在配置檔案中配置好各項引數,則可以使用配置檔案啟動:  ./mongod --config /usr/local/server/mongodb/mongodb.conf 系統服務啟動: 使用系統服務命令啟動需要先將服務加入到系統服務中,附錄:
將mongod新增到系統服務
service mongod start|stop|restart 注:可以將mongodb臨時加入系統路徑變數中,這樣可以不用輸入路徑直接啟動,程式碼如下: export PATH=/usr/local/server/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即可 執行如下: [[email protected] 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=/usr/local/server/mongodb/data --logpath=/usr/local/server/mongodb/mongod.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登入進行資料庫操作: [[email protected] 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擴充套件,步驟如下:

2)解壓,進入安裝目錄

wget http://pecl.php.net/get/mongo-1.4.0.tgz  tar -zxvf mongo-1.4.0.tgz cd mongo-1.4.0  3)進入資料夾後,首先執行phpize來編譯擴充套件的環境 [[email protected] mongo-1.4.0]# /usr/bin/phpize Configuring for:
PHP Api Version: 20121113
Zend Module Api No: 20121212
Zend Extension Api No: 220121212

4)執行後,我們執行./configure指令碼來進行配置

./configure --with-php-config=/usr/local/php/bin/php-config && make && make install ## --with-php-config 這個引數是告訴配置指令碼 php-config 這個程式的路徑

5)完成後,請編輯你php.ini檔案增加一行
extension=mongo.so
一般預設的編譯php的ini檔案/usr/local/php/etc/php.ini
重啟Apache/Nginx[或者/etc/init.d/php-fpm restart] 開啟 phpinfo
看到mongo模組,證明MongoDB的php擴充套件安裝成功。

OK ,至此你可以使用php來操作 MongoDB 了