Linux下MongoDB安裝和配置詳解(一)
阿新 • • 發佈:2018-12-24
一、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擴充套件,步驟如下:
PHP Api Version: 20121113
Zend Module Api No: 20121212
Zend Extension Api No: 220121212
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 了