Khởi tạo
Để tạo được Database + User mới ta cần đăng nhập vào tài khoản Admin
Thực hiện các lệnh sau để vào cửa sổ lệnh của Mongo:
mongo
Hoặc nếu lệnh sau nếu có port: 12345
mongo -port 12345
Chuyển sang DB Admin:
use admin
db.auth("admin", "ADMIN_PASSWORD")
Tiếp tục chuyển sang DB muốn tạo:
Ví dụ tạo DB lienvu_db
use lienvu_db
Tạo User mới và quyền truy cập dữ liệu
db.createUser({Đăng nhập nếu có mật khẩu
user: 'lienvu_user',
pwd: 'lienvu_pass',
roles: [{ role: 'readWrite', db:'lienvu_db'}]
})
db.auth("lienvu_user", "lienvu_pass")
Kiểm tra tài khoản, mật khẩu mới đã hoạt động hay chưa
mongo -u lienvu_user -p lienvu_pass127.0.0.1/lienvu_db
Đăng nhập nhập từ command line
mongo -u USERNAME -p --authenticationDatabase DB
Kiểm tra kết nối từ localhost
mongo -u admin -p --authenticationDatabase admin --host localhost
Kiểm tra kết nối từ 1 IP
mongo -u admin -p --authenticationDatabase admin --host 123.4.5.6
Đăng nhập với tài khoản admin vào database Admin
mongo -port 16542 -u admin -p <PASWORD> --authenticationDatabase admin
Để kill tất cả các operation đang chạy trên 10 giây:
db.currentOp({
active: true,
secs_running: { $gte: 10 }
}).inprog.forEach(op => {
print("Kill:", op.opid, op.ns, op.secs_running + "s");
db.killOp(op.opid);
});
Lệnh thao tác trong Database
Tạo index cho bảng messages
db.messages.createIndex( { page_id: 1, comment_id: 1 }, { name: "page_id_1_comment_id_1" } )
Xử lý lỗi
Code tìm truy vấn mongo nào đang bị chậm
const {MongoClient} = require("mongodb");const uri = "mongodb://admin:<PASWORD>@127.0.0.1:<PORT>/admin?authSource=admin";function buildQuery(op) {const c = op.command || {};if (c.find) {return `db.${c.find}.find(${JSON.stringify(c.filter || {})})`;}if (c.count) {return `db.${c.count}.count(${JSON.stringify(c.query || {})})`;}if (c.aggregate) {return `db.${c.aggregate}.aggregate(${JSON.stringify(c.pipeline || [])})`;}if (c.update) {return `db.${c.update}.update(${JSON.stringify(c.updates || [])})`;}if (c.delete) {return `db.${c.delete}.delete(${JSON.stringify(c.deletes || [])})`;}if (c.insert) {return `db.${c.insert}.insert(...)`;}return JSON.stringify(c);}async function showSlowQueries() {const client = new MongoClient(uri);try {await client.connect();const adminDb = client.db("admin");const result = await adminDb.command({currentOp: 1,active: true,secs_running: {$gte: 1},});const rows = (result.inprog || []).filter((op) => op.secs_running != null).sort((a, b) => Number(b.secs_running) - Number(a.secs_running)).slice(0, 20).map(op => ({opid: op.opid,seconds: Number(op.secs_running),ns: op.ns,query: buildQuery(op)}));console.table(rows);} catch (error) {console.error("Lỗi:", error.message);} finally {await client.close();}}showSlowQueries();
Khi cài đặt lỗi thực hiện xóa đi và cài đặt lại
Chạy lệnh xóa
sudo apt-get purge mongodb-org*Cài đặt lại
sudo apt-get install mongodbKiểm tra version đã cài
mongo --version


