ติดตั้งและทดสอบ mongodb บน centos7 และใช้งานบน python3(anaconda jupyter notebook)

ติดตั้ง mongodb ก่อน (แล้วแต่รุ่น หากเปลี่ยนแปลง ดูเอาเอง)

สร้างไฟล์ vi /etc/yum.repos.d/mongodb-org-3.6.repo

เพิ่มข้อมูล ลงไป

[mongodb-org-3.6]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.asc

งากนั้น ติดตั้ง mongodb
sudo yum install -y mongodb-org

ทำการ start service mongodb
systemctl start mongod

ตั้ง start up

systemctl enable mongod

จากนั้นลองใช้งาน
mongo --host 127.0.0.1:27017
(จากที่เล่น หาก เช็ค start ได้ ไม่น่ามีปัญหา )

หากหน้าจอขึ้นแบบนี้ ลองเล่นได้เลย

[root@localhost ~]# mongo --host 127.0.0.1:27017
MongoDB shell version v3.6.4
connecting to: mongodb://127.0.0.1:27017/
MongoDB server version: 3.6.4
Server has startup warnings: 
2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] 
2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] ** WARNING: Access control is not enabled for the database.
2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] ** Read and write access to data and configuration is unrestricted.
2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] 
2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] 
2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/enabled is 'always'.
2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] 
2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] ** WARNING: /sys/kernel/mm/transparent_hugepage/defrag is 'always'.
2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] ** We suggest setting it to 'never'
2018-04-29T10:55:15.151+0700 I CONTROL [initandlisten] 
> 

ใน ส่วนของ WARNING  ที่ขึ้นหาแบบนี้คือ mongo แจ้งว่า เราไม่ได้ทำสิทธ์ อะไรให้กับ db อาจจะเป็นอันตราย แต่เราไม่ต้องไปทำก็เล่นได้

โดยตัวอย่างคำสั่งมีดันนี้ หากมีไม่ พอหาได้จาก https://beginnersbook.com/2017/09/mongodb-query-document-using-find-method/

show dbs (show database)
use admin (database name)
db (show database use)
show collections 

use beginnersbook
db.user.insert({name: "Zohan", age: 32})
db.user.find()
var beginners =
 [
 {
 "StudentId" : 1001,
 "StudentName" : "Steve",
 "age": 30
 },
 {
 "StudentId" : 1002,
 "StudentName" : "Negan",
 "age": 42
 },
 {
 "StudentId" : 3333,
 "StudentName" : "Rick",
 "age": 35
 },
];
db.students.insert(beginners);

db.students.find({StudentName : "Steve"}).pretty()

หากมาถึงตรงนี้ แสดงว่าใช้งาน mongodb ได้แล้ว ไม่มีปัญหาอะไร ต่อไปจะไปลองเล่น python3(anaconda jupyter notebook) ดู
หากยังไม่มี anaconda jupyter notebook ให้ไปดูที่ http://kmzohan.com/2018/03/06/%E0%B8%95%E0%B8%B4%E0%B8%94%E0%B8%95%E0%B8%B1%E0%B9%89%E0%B8%87-anaconda-centos7-jupyter-notebook/

โดย มีคำสั่งเพิ่มเติมดังนี้ ในการ pip  เพื่อให้ python รู้จัก mongodb

pip install pymongo

จากนั้น ลองใช้ งานที่ละคำสั่งดูบน jupyter notebook

ติดต่อ Mongodb server

from pymongo import MongoClient
from pprint import pprint
client = MongoClient(‘mongodb://localhost:27017/’)

ทดสอบ ดึง status

db=client.admin
# Issue the serverStatus command and print the results
serverStatusResult=db.command(“serverStatus”)
pprint(serverStatusResult)

หากมีค่าเป็น json ออกมาแสดงว่า และไม่มี error ในชุดคำสั่งแรกแสดงว่า python ต่อกับ Mongodb server ได้แล้ว

ต่อจากมีอาจจะลองหาคำสั่งมาลองดูได้ครับ

 

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องที่ต้องการถูกทำเครื่องหมาย *