ಈ ಬ್ಲಾಗ್ನಲ್ಲಿ ನಾವು ಕೆಲವು ಡೇಟಾಬೇಸ್ ಸಿಸ್ಟಮ್ಗಳ ಬಗ್ಗೆ ಮಾತನಾಡಿದ್ದೇವೆ, ಅವುಗಳಲ್ಲಿ ಅತ್ಯಂತ ಜನಪ್ರಿಯವಾದವು ಮಾರಿಯಾಡಿಬಿ ಮತ್ತು ಮೈಎಸ್ಕ್ಯೂಎಲ್, ಏಕೆಂದರೆ ಅವು ಸಾಮಾನ್ಯವಾಗಿ ಕ್ಸಾಂಪ್ ಅಥವಾ ಲ್ಯಾಂಪ್ನಲ್ಲಿ ಸೇರ್ಪಡೆಗೊಳ್ಳುವ ವ್ಯವಸ್ಥೆಗಳಾಗಿವೆ. ಈ ಸಮಯದಲ್ಲಿ ನಾವು ಮಾತನಾಡಲಿದ್ದೇವೆ ಮತ್ತೊಂದು ವ್ಯವಸ್ಥೆ ಮೊಂಗೋಡಿಬಿ.
ಮೊಂಗೋಡಿಬಿ ಆಗಿದೆ ಓಪನ್ ಸೋರ್ಸ್ ಡಾಕ್ಯುಮೆಂಟ್ ಆಧಾರಿತ NoSQL ಡೇಟಾಬೇಸ್ ಸಿಸ್ಟಮ್, ಇದು ಉನ್ನತ-ಕಾರ್ಯಕ್ಷಮತೆಯ ಡೇಟಾ ನಿರಂತರತೆಗಾಗಿ ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ ಆಧುನಿಕ ಡಾಕ್ಯುಮೆಂಟ್ ಡೇಟಾಬೇಸ್ ನಿರ್ವಹಣಾ ವ್ಯವಸ್ಥೆ, NoSQL ತಂತ್ರದ ತಂತ್ರಜ್ಞಾನದ ಆಧಾರದ ಮೇಲೆ ಹೆಚ್ಚಿನ ಲಭ್ಯತೆ, ಮತ್ತು ಸ್ವಯಂಚಾಲಿತ ಸ್ಕೇಲಿಂಗ್.
ಸಂಬಂಧಿತ ದತ್ತಸಂಚಯಗಳಲ್ಲಿ ಮಾಡಿದಂತೆ ಡೇಟಾವನ್ನು ಕೋಷ್ಟಕಗಳಲ್ಲಿ ಉಳಿಸುವ ಬದಲು, ಮೊಂಗೊಡಿಬಿ ದತ್ತಾಂಶ ರಚನೆಗಳನ್ನು ಡಾಕ್ಯುಮೆಂಟ್ನಲ್ಲಿ ಉಳಿಸುತ್ತದೆ, ಇದು ಕ್ಷೇತ್ರ ಮತ್ತು ಮೌಲ್ಯ ಜೋಡಿಗಳನ್ನು ಒಳಗೊಂಡಿರುವ ದತ್ತಾಂಶ ರಚನೆಯಾಗಿದೆ (ಮೊಂಗೊಡಿಬಿ ದಾಖಲೆಗಳು JSON ವಸ್ತುಗಳಿಗೆ ಹೋಲಿಸಬಹುದು).
ಇದು ಹೆಚ್ಚಿನ ಕಾರ್ಯಕ್ಷಮತೆ ಮತ್ತು ಅತ್ಯುತ್ತಮ ಸ್ಕೇಲೆಬಿಲಿಟಿ ಗುಣಲಕ್ಷಣಗಳನ್ನು ಒದಗಿಸುವುದರಿಂದ, ಶಕ್ತಿಯುತ, ಮಿಷನ್-ನಿರ್ಣಾಯಕ ಮತ್ತು ಹೆಚ್ಚು ಲಭ್ಯವಿರುವ ಡೇಟಾಬೇಸ್ಗಳ ಅಗತ್ಯವಿರುವ ಆಧುನಿಕ ಅಪ್ಲಿಕೇಶನ್ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಇದನ್ನು ಬಳಸಲಾಗುತ್ತಿದೆ.
ಉಬುಂಟುನಲ್ಲಿ ಮೊಂಗೋಡಿಬಿ ಸ್ಥಾಪನೆ
ನಮ್ಮ ಸಿಸ್ಟಂನಲ್ಲಿ ಈ ಡೇಟಾಬೇಸ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಸ್ಥಾಪಿಸಲು, ನಾವು ಟರ್ಮಿನಲ್ ಅನ್ನು ತೆರೆಯಬೇಕು ಮತ್ತು ಅದರಲ್ಲಿ ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕು:
sudo apt install mongodb
ಅನುಸ್ಥಾಪನೆ ಮುಗಿದಿದೆ, Systemd ಮೂಲಕ ಮೊಂಗೋಡಿಬಿ ಸೇವೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ ಮತ್ತು ಪ್ರಕ್ರಿಯೆಯು ಪೋರ್ಟ್ 27017 ನಲ್ಲಿ ಚಲಿಸುತ್ತದೆ. ಆಜ್ಞೆಯನ್ನು ಬಳಸಿಕೊಂಡು ನೀವು ಅದರ ಸ್ಥಿತಿಯನ್ನು ಪರಿಶೀಲಿಸಬಹುದು:
sudo systemctl status mongodb
ಇಲ್ಲದಿದ್ದರೆ, ನಾವು ಈ ಆಜ್ಞೆಯೊಂದಿಗೆ ಪ್ರಾರಂಭವನ್ನು ಒತ್ತಾಯಿಸಬಹುದು:
sudo systemctl start mongodb
ಮೊಂಗೋಡಿಬಿಗೆ ರಿಮೋಟ್ ಸಂಪರ್ಕಗಳನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲಾಗುತ್ತಿದೆ
ಮೊಂಗೊಡಿಬಿ ಡೇಟಾಬೇಸ್ ಸಿಸ್ಟಮ್ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಪೋರ್ಟ್ 27017 ಅನ್ನು ಬಳಸುತ್ತದೆ, ಅದನ್ನು ನಾವು ತೆರೆಯಬೇಕು ದೂರಸ್ಥ ಸಂಪರ್ಕಗಳನ್ನು ಸ್ವೀಕರಿಸಲು, ನಾವು ಅದನ್ನು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯೊಂದಿಗೆ ಮಾತ್ರ ಸಕ್ರಿಯಗೊಳಿಸುತ್ತೇವೆ.
sudo ufw allow 27017
ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ, ಪೋರ್ಟ್ 27017 ಅನ್ನು ಸ್ಥಳೀಯ ವಿಳಾಸ 127.0.0.1 ನಿಂದ ಮಾತ್ರ ಪ್ರವೇಶಿಸಬಹುದು. ಮೊಂಗೋಡಿಬಿಗೆ ರಿಮೋಟ್ ಸಂಪರ್ಕಗಳನ್ನು ಅನುಮತಿಸಲು, ಫೈಲ್ನಲ್ಲಿ ಸರ್ವರ್ನ ಐಪಿ ವಿಳಾಸವನ್ನು ಸೇರಿಸುವುದು ಅವಶ್ಯಕ /etc/mongodb.conf
ಇದರೊಂದಿಗೆ ಸಂಪಾದಿಸಿ:
sudo nano
ಮತ್ತು ನಾವು ಇದೇ ರೀತಿಯದ್ದನ್ನು ನೋಡಬಹುದು:
bind_ip = 127.0.0.1, your_server_ip #port = 27,017
ನಮ್ಮ ಸರ್ವರ್ನಿಂದ ಡೇಟಾದೊಂದಿಗೆ ನಾವು ಸಂಪಾದಿಸುತ್ತೇವೆ.
ಎಲ್ಲೆಡೆಯಿಂದ ಮೊಂಗೋಡಿಬಿಗೆ ಪ್ರವೇಶವನ್ನು ಅನುಮತಿಸುವುದರಿಂದ, ಇದು ಡೇಟಾಬೇಸ್ನಲ್ಲಿನ ಡೇಟಾಗೆ ಅನಿಯಂತ್ರಿತ ಪ್ರವೇಶವನ್ನು ನೀಡುತ್ತದೆ. ಆದ್ದರಿಂದ, ಮೊಂಗೋಡಿಬಿ ಬಂದರಿನ ಸ್ಥಳ ನಿರ್ದಿಷ್ಟ ಡೀಫಾಲ್ಟ್ ಐಪಿ ವಿಳಾಸಕ್ಕೆ ಪ್ರವೇಶವನ್ನು ನೀಡುವುದು ಉತ್ತಮ.
sudo ufw allow from your_server_IP/32 to any port 27017 sudo ufw status
ಇದನ್ನು ಮಾಡಿದ ನಂತರ, ಸೇವೆಯನ್ನು ಮರುಪ್ರಾರಂಭಿಸಲು ಸಾಕು ಇದರಿಂದ ಹೊಸ ಬದಲಾವಣೆಗಳನ್ನು ಪ್ರಾರಂಭದಲ್ಲಿ ಲೋಡ್ ಮಾಡಲಾಗುತ್ತದೆ, ಇದನ್ನು ನಾವು ಮಾಡುತ್ತೇವೆ:
sudo systemctl restart mongodb
ಪಾಸ್ವರ್ಡ್ನೊಂದಿಗೆ ಮೊಂಗೊಡಿಬಿಯಲ್ಲಿ ಬಳಕೆದಾರರನ್ನು ರಚಿಸಿ
ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ಡೇಟಾಬೇಸ್ ಸಾಕಷ್ಟು ಸರಳ ಪ್ರವೇಶವನ್ನು ಹೊಂದಿದೆ, ಆದ್ದರಿಂದ ಇದನ್ನು ಬಲಪಡಿಸಲು ನಾವು ಪಾಸ್ವರ್ಡ್ ಹೊಂದಿರುವ ಬಳಕೆದಾರರನ್ನು ರಚಿಸಬಹುದು.
ಮೊಂಗೊಡಿಬಿ SCRAM ದೃ hentic ೀಕರಣ ಕಾರ್ಯವಿಧಾನವನ್ನು ಬಳಸುತ್ತದೆ ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ. ಸಿಸ್ಟಂನಲ್ಲಿ SCRAM ಅನ್ನು ಬಳಸುವುದರಿಂದ ಬಳಕೆದಾರರ ಹೆಸರು, ಪಾಸ್ವರ್ಡ್ ಮತ್ತು ದೃ ation ೀಕರಣ ಡೇಟಾಬೇಸ್ ವಿರುದ್ಧ ಸರಬರಾಜು ಮಾಡಿದ ಬಳಕೆದಾರ ರುಜುವಾತುಗಳನ್ನು ಪರಿಶೀಲಿಸುತ್ತದೆ.
ಕೆಳಗಿನ ಆಜ್ಞೆಯೊಂದಿಗೆ ಡೇಟಾಬೇಸ್ ಕನ್ಸೋಲ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಿ:
Mongo
ನಾವು ಅಸ್ತಿತ್ವದಲ್ಲಿರುವ ಡೇಟಾಬೇಸ್ಗಳ ಪಟ್ಟಿಯನ್ನು ಇದರೊಂದಿಗೆ ಮಾಡಬಹುದು:
show dbs
ಬಳಕೆದಾರರನ್ನು ಮತ್ತು ಕಾರ್ಯಗಳನ್ನು ನಿರ್ವಹಿಸಲು ನಮಗೆ ಅನುಮತಿಸುವ ಬಳಕೆದಾರರನ್ನು ನಾವು ರಚಿಸಬಹುದು ಬಳಕೆದಾರರನ್ನು ರಚಿಸುವುದು, ಬಳಕೆದಾರರ ಪಾತ್ರಗಳನ್ನು ನೀಡುವುದು ಅಥವಾ ಹಿಂತೆಗೆದುಕೊಳ್ಳುವುದು ಮತ್ತು ಕಸ್ಟಮ್ಸ್ ಪಾತ್ರಗಳನ್ನು ರಚಿಸುವುದು ಅಥವಾ ಮಾರ್ಪಡಿಸುವುದು.
ಟೈಪ್ ಮಾಡಿ
use admin
ಮತ್ತು ನಾವು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯೊಂದಿಗೆ ಬಳಕೆದಾರರನ್ನು ರಚಿಸುತ್ತೇವೆ, ಅಲ್ಲಿ ನಾವು "ರೂಟ್" ಎಂಬ ಬಳಕೆದಾರರ ಹೆಸರನ್ನು ಮತ್ತು "ಪಾಸ್ವರ್ಡ್" ಎಂಬ ಪಾಸ್ವರ್ಡ್ ಅನ್ನು ಸೂಕ್ತವೆಂದು ನಾವು ನಂಬುವ ಪ್ರವೇಶ ಕ್ರೆಸೆನ್ಸಿಯಲ್ಗಳಿಂದ ಬದಲಾಯಿಸುತ್ತೇವೆ.
db.createUser({user:"root", pwd:"password", roles:[{role:"root", db:"admin"}]})
ಇದನ್ನು ಮಾಡಿದ ನಂತರ, ನಾವು ದೃ hentic ೀಕರಣ ವಿಧಾನವನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಬೇಕು ಇದಕ್ಕಾಗಿ ನಾವು ಈ ಕೆಳಗಿನ ಫೈಲ್ ಅನ್ನು ಸಂಪಾದಿಸಲಿದ್ದೇವೆ:
sudo nano /lib/systemd/system/mongodb.service
ಮತ್ತು ನಾವು ಮುಂದಿನ ಸಾಲನ್ನು ನೋಡುತ್ತೇವೆ:
ExecStart=/usr/bin/mongod --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
ಮತ್ತು ದಿ ಸಂಪಾದಿಸಿ ಇದರಿಂದ ಅದು ಹೀಗಿರುತ್ತದೆ:
ExecStart=/usr/bin/mongod --auth --unixSocketPrefix=${SOCKETPATH} --config ${CONF} $DAEMON_OPTS
ಈಗ ನಾವು ಡೇಟಾಬೇಸ್ನಲ್ಲಿ ರೀಬೂಟ್ ಮಾಡುತ್ತೇವೆ
systemctl daemon-reload sudo systemctl restart mongodb sudo systemctl status mongodb
Y ದೃ hentic ೀಕರಣ ವಿಧಾನವನ್ನು ನಾವು ಇದರೊಂದಿಗೆ ಪರೀಕ್ಷಿಸುತ್ತೇವೆ:
mongo -u "usuario" -p --authenticationDatabase "contraseña"
ಈ ದೋಷದೊಂದಿಗೆ ನನಗೆ ಸಹಾಯ ಮಾಡಿ.
2021-03-24T21: 33: 16.233 + 0000 E ಪ್ರಶ್ನೆ [ಥ್ರೆಡ್ 1] ದೋಷ: ಪಟ್ಟಿ ಡೇಟಾಬೇಸ್ಗಳು ವಿಫಲವಾಗಿವೆ: {
«ಸರಿ»: 0,
"Errmsg": "ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ನಿರ್ವಾಹಕರಿಗೆ ಅಧಿಕಾರವಿಲ್ಲ {listDatabases: 1.0, $ db: admin" admin \ "}",
"ಕೋಡ್": 13,
"ಕೋಡ್ ನೇಮ್": "ಅನಧಿಕೃತ"
}:
_getErrorWithCode@src/mongo/shell/utils.js: 25:13
ಮೊಂಗೊ.ಪ್ರೊಟೊಟೈಪ್.ಜೆಟ್ಡಿಬಿಎಸ್ಆರ್ಸಿ / ಮೊಂಗೊ / ಶೆಲ್ / ಮೊಂಗೊ.ಜೆಎಸ್: 65: 1
shellHelper.show@src/mongo/shell/utils.js: 816: 19
shellHelper@src/mongo/shell/utils.js: 706: 15
@ (ಶೆಲ್ಹೆಲ್ಪ್ 2): 1: 1