Prasyarat
- Pelayan Vultr yang menjalankan Arch Linux terkini (lihat artikel ini )
- Akses Sudo:
- Perintah yang dikehendaki dijalankan sebagai root yang diawali oleh
#, dan yang dapat dijalankan sebagai pengguna biasa oleh $. Cara yang disyorkan untuk menjalankan arahan sebagai root ialah, sebagai pengguna biasa, awalan masing-masing dengan sudo.
Pasang Pangkalan Data MongoDB 4.0
MongoDB ada di AUR (Arch User Repository). Terdapat 2 set pakej yang boleh anda gunakan. Lihat Pakej Bangunan di Arch Linux (Termasuk AUR) untuk menyusun dan memasang sama ada satu set pakej:
- Menyusun dari sumber. Gunakan pakej AUR
mongodbdan mungkin mongodb-tools'. Perhatikan bahawa ini memerlukan sekitar 180 GB, dan ini adalah penyusunan yang panjang. Dengan 4 teras, diperlukan lebih kurang 7 jam. Ini adalah kaedah yang disyorkan, kerana menggunakan bendera kompilasi Arch.
- Gunakan binari pra-binaan MongoDB. Gunakan pakej AUR
mongodb-bindan mungkin mongodb-tools-bin. Ini melangkau keseluruhan peringkat penyusunan, memuat turun binari pra-binaan dari mongodb.org, dan mengemasnya dengan fail konfigurasi yang diperlukan.
Setelah memasang pakej, mulakan MongoDB, dan mulakan selepas setiap but. Semasa permulaan pertama ini, ia akan memperuntukkan fail untuk jurnal dan data lain, yang mungkin memerlukan beberapa saat sebelum pangkalan data selesai muncul:
# systemctl enable --now mongodb
Sambungan Ujian
Sambung ke MongoDB:
$ mongo
Untuk berhenti:
> exit
Pertimbangan Firewall
Walaupun mengkonfigurasi firewall selalu merupakan idea yang baik, secara lalai, MongoDB hanya mendengar port 27017di localhost, jadi ia tidak akan menerima trafik luaran.
Memerlukan Pengesahan
Secara lalai, MongoDB membolehkan sesiapa sahaja untuk menyambung kepadanya tanpa sebarang jenis pengesahan, yang jelas merupakan risiko keselamatan.
Buat pengguna pangkalan data akar:
$ mongo
> use admin
> db.createUser(
... {
... user: "root",
... pwd: "YOUR-NEW-PASSWORD",
... roles: [ { role: "userAdminAnyDatabase", db: "admin" }, "readWriteAnyDatabase" ]
... }
... )
> exit
Edit /etc/mongodb.conf, dan jika menggunakan pakej mongodbtambah:
security:
authorization: "enabled"
Sekiranya menggunakan pakej mongodb-bintambahkan:
auth = true
Mulakan semula MongoDB:
# systemctl restart mongodb
Kini, walaupun anda masih boleh berhubung dengan MongoDB tanpa pengesahan, ia tidak akan melakukan apa-apa tanpa ia:
$ mongodb
> db.getUsers()
... Error: command usersInfo requires authentication :
Sambungkan ke MongoDB sebagai root:
$ mongodb -u root
Sebagai alternatif, sambungkan ke MongoDB, kemudian sahkan di dalamnya:
$ mongodb
> use admin
> db.auth("root", "<YOUR-DATABASE-ROOT-PASSWORD>")
Penting: Peningkatan
Kerana MongoDB kini menjadi sebahagian daripada AUR, pacmantidak akan secara automatik mengumpulkan dan menaikkannya ke versi baru, apabila anda menaik taraf keseluruhan sistem Arch anda. Anda perlu menyusun semula versi baru secara manual dan memasang pakej baru. Sebelum melakukannya, adalah penting untuk melihat nota pelepasan MongoDB, untuk melihat sama ada terdapat sebarang langkah tambahan yang perlu anda ambil. Adalah idea yang baik untuk membuat sandaran pangkalan data anda sebelum naik taraf, juga.
Shutdown Unclean
Sekiranya MongoDB tidak dimatikan dengan bersih, dan tidak pulih secara automatik menggunakan jurnalnya pada but seterusnya, anda mungkin perlu menjalankan perkara berikut:
sudo -u mongodb mongod --repair --dbpath /var/lib/mongodb/
Bergantung pada ukuran pangkalan data dan indeks yang digunakan, proses ini dapat berkisar dari beberapa saat hingga jam.