Mulai menggunakan database di Subsistem Windows untuk Linux

Panduan langkah demi langkah ini akan membantu Anda mulai menyambungkan proyek Anda di WSL ke database. Mulai menggunakan MySQL, PostgreSQL, MongoDB, Redis, Microsoft SQL Server, atau SQLite.

Prasyarat

Perbedaan antara sistem database

Pilihan paling populer untuk sistem database meliputi:

MySQL adalah database relasional SQL sumber terbuka, mengatur data ke dalam satu atau beberapa tabel di mana jenis data mungkin terkait satu sama lain. Ini dapat diskalakan secara vertikal, yang berarti satu mesin utama akan melakukan pekerjaan untuk Anda. Saat ini merupakan yang paling banyak digunakan dari empat sistem database.

PostgreSQL (terkadang disebut sebagai Postgres) juga merupakan database relasional SQL sumber terbuka dengan penekanan pada ekstensibilitas dan kepatuhan standar. Ini juga dapat menangani JSON sekarang, tetapi umumnya lebih baik untuk data terstruktur, penskalaan vertikal, dan kebutuhan yang mematuhi ACID seperti eCommerce dan transaksi keuangan.

Microsoft SQL Server menyertakan SQL Server di Windows, SQL Server di Linux, dan SQL di Azure. Ini juga merupakan sistem manajemen database relasional yang disiapkan di server dengan fungsi utama menyimpan dan mengambil data seperti yang diminta oleh aplikasi perangkat lunak.

SQLite adalah database "tanpa server" berbasis file mandiri sumber terbuka, yang dikenal karena portabilitas, keandalan, dan performa yang baik bahkan di lingkungan memori rendah.

MongoDB adalah database dokumen NoSQL sumber terbuka yang dirancang untuk bekerja dengan JSON dan menyimpan data bebas skema. Ini dapat diskalakan secara horizontal, yang berarti beberapa mesin yang lebih kecil akan melakukan pekerjaan untuk Anda. Ini baik untuk fleksibilitas dan data yang tidak terstruktur, dan penembolokan analitik real-time.

Redis adalah penyimpanan struktur data dalam memori NoSQL sumber terbuka. Ini menggunakan pasangan kunci-nilai untuk penyimpanan alih-alih dokumen. Redis dikenal karena fleksibilitas, performa, dan dukungan bahasa yang luas. Cukup fleksibel untuk digunakan sebagai cache atau broker pesan dan dapat menggunakan struktur data seperti daftar, set, dan hash.

Jenis database yang Anda pilih harus bergantung pada jenis aplikasi yang akan Anda gunakan dengan database. Kami menyarankan agar Anda mencari keuntungan dan kekurangan database terstruktur dan tidak terstruktur dan memilih berdasarkan kasus penggunaan Anda.

Menginstal MySQL

Untuk menginstal MySQL di WSL (yaitu. Ubuntu):

  1. Buka terminal WSL Anda (yaitu. Ubuntu).
  2. Perbarui paket Ubuntu Anda: sudo apt update
  3. Setelah paket diperbarui, instal MySQL dengan: sudo apt install mysql-server
  4. Konfirmasi penginstalan dan dapatkan nomor versi: mysql --version

Anda mungkin juga ingin menjalankan skrip keamanan yang disertakan. Ini mengubah beberapa opsi default yang kurang aman untuk hal-hal seperti login root jarak jauh dan pengguna sampel. Untuk menjalankan skrip keamanan:

  1. Mulai server MySQL: sudo /etc/init.d/mysql start
  2. Mulai perintah skrip keamanan: sudo mysql_secure_installation
  3. Perintah pertama akan menanyakan apakah Anda ingin menyiapkan Plugin Kata Sandi Validasi, yang dapat digunakan untuk menguji kekuatan kata sandi MySQL Anda. Anda kemudian akan mengatur kata sandi untuk pengguna root MySQL, memutuskan apakah akan menghapus pengguna anonim atau tidak, memutuskan apakah akan mengizinkan pengguna root untuk masuk baik secara lokal maupun jarak jauh, memutuskan apakah akan menghapus database pengujian, dan, terakhir, memutuskan apakah akan segera memuat ulang tabel hak istimewa.

Untuk membuka perintah MySQL, masukkan: sudo mysql

Untuk melihat database apa yang tersedia, di prompt MySQL, masukkan: SHOW DATABASES;

Untuk membuat database baru, masukkan: CREATE DATABASE database_name;

Untuk menghapus database, masukkan: DROP DATABASE database_name;

Untuk informasi selengkapnya tentang bekerja dengan database MySQL, lihat dokumen MySQL.

Untuk bekerja dengan database MySQL di Visual Studio Code, coba ekstensi MySQL.

Menginstal PostgreSQL

Untuk menginstal PostgreSQL di WSL (yaitu. Ubuntu):

  1. Buka terminal WSL Anda (yaitu. Ubuntu).
  2. Perbarui paket Ubuntu Anda: sudo apt update
  3. Setelah paket diperbarui, instal PostgreSQL (dan paket -contrib yang memiliki beberapa utilitas bermanfaat) dengan: sudo apt install postgresql postgresql-contrib
  4. Konfirmasi penginstalan dan dapatkan nomor versi: psql --version

Ada 3 perintah yang perlu Anda ketahui setelah PostgreSQL diinstal:

  • sudo service postgresql status untuk memeriksa status database Anda.
  • sudo service postgresql start untuk mulai menjalankan database Anda.
  • sudo service postgresql stop untuk berhenti menjalankan database Anda.

Pengguna admin default, postgres, memerlukan kata sandi yang ditetapkan untuk menyambungkan ke database. Untuk mengatur kata sandi:

  1. Masukkan perintah: sudo passwd postgres
  2. Anda akan mendapatkan perintah untuk memasukkan kata sandi baru Anda.
  3. Tutup dan buka kembali terminal Anda.

Untuk menjalankan PostgreSQL dengan shell psql :

  1. Mulai layanan postgres Anda: sudo service postgresql start
  2. Koneksi ke layanan postgres dan buka shell psql:sudo -u postgres psql

Setelah berhasil memasukkan shell psql, Anda akan melihat perubahan baris perintah Anda agar terlihat seperti ini: postgres=#

Catatan

Atau, Anda dapat membuka shell psql dengan beralih ke pengguna postgres dengan: su - postgres dan kemudian memasukkan perintah: psql.

Untuk keluar dari postgres=# masukkan: \q atau gunakan tombol pintasan: Ctrl+D

Untuk melihat akun pengguna apa yang telah dibuat pada penginstalan PostgreSQL Anda, gunakan dari terminal WSL Anda: psql -c "\du" ... atau hanya \du jika Anda membuka shell psql. Perintah ini akan menampilkan kolom: Nama Pengguna Akun, Daftar Atribut Peran, dan Anggota grup peran. Untuk keluar kembali ke baris perintah, masukkan: q.

Untuk informasi selengkapnya tentang bekerja dengan database PostgreSQL, lihat dokumen PostgreSQL.

Untuk bekerja dengan database PostgreSQL di Visual Studio Code, coba ekstensi PostgreSQL.

Menginstal MongoDB

Untuk menginstal MongoDB (versi 5.0) pada WSL (Ubuntu 20.04):

  1. Buka terminal WSL Anda (yaitu. Ubuntu) dan buka direktori rumah Anda: cd ~
  2. Perbarui paket Ubuntu Anda: sudo apt update
  3. Impor kunci publik yang digunakan oleh sistem manajemen paket MongoDB: wget -qO - https://www.mongodb.org/static/pgp/server-5.0.asc | sudo apt-key add -
  4. Buat file daftar untuk MongoDB: echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/5.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-5.0.list
  5. Muat ulang database paket lokal: sudo apt-get update
  6. Instal paket MongoDB: sudo apt-get install -y mongodb-org
  7. Konfirmasi penginstalan dan dapatkan nomor versi: mongod --version
  8. Buat direktori untuk menyimpan data: mkdir -p ~/data/db
  9. Jalankan instans Mongo: sudo mongod --dbpath ~/data/db
  10. Periksa untuk melihat bahwa instans MongoDB Anda berjalan dengan: ps -e | grep 'mongod'
  11. Untuk keluar dari MongoDB Shell, gunakan tombol pintasan: Ctrl + C

Tip

Menginstal MongoDB mungkin memerlukan langkah yang sedikit berbeda tergantung pada distribusi Linux yang digunakan untuk penginstalan. Lihat tutorial penginstalan MongoDB. Perhatikan juga bahwa penginstalan MongoDB mungkin berbeda tergantung pada versi # yang ingin Anda instal. Gunakan daftar drop-down versi di sudut kiri atas dokumentasi MongoDB untuk memilih versi yang selaras dengan tujuan Anda.

Perbedaan sistem init MongoDB

Dalam contoh di atas kami menjalankan MongoDB secara langsung. Tutorial lain dapat memulai MongoDB menggunakan sistem init bawaan sistem operasi. Anda mungkin melihat perintah sudo systemctl status mongodb yang digunakan dalam tutorial atau artikel. Saat ini WSL tidak memiliki dukungan untuk systemd (sistem manajemen layanan di Linux).

Anda tidak boleh melihat perbedaan, tetapi jika tutorial merekomendasikan penggunaan sudo systemctl, sebagai gantinya gunakan: sudo /etc/init.d/. Misalnya, sudo systemctl status docker, untuk WSL adalah sudo /etc/init.d/docker status ... atau Anda juga dapat menggunakan sudo service docker status.

Menambahkan skrip init untuk memulai MongoDB sebagai layanan

Instruksi penginstalan di atas menginstal versi MongoDB yang tidak menyertakan skrip secara otomatis di /etc/init.d/. Jika Anda ingin menggunakan perintah layanan, Anda dapat mengunduh skrip init.d untuk mongodb dari sumber ini, menempatkannya secara manual sebagai file di jalur ini: /etc/init.d/mongodb dan kemudian Anda dapat memulai Mongo sebagai layanan menggunakan sudo service mongodb start.

  1. Unduh skrip init.d untuk MongoDB: curl https://raw.githubusercontent.com/mongodb/mongo/master/debian/init.d | sudo tee /etc/init.d/mongodb >/dev/null
  2. Tetapkan izin skrip yang dapat dieksekusi: sudo chmod +x /etc/init.d/mongodb
  3. Sekarang Anda dapat menggunakan perintah layanan MongoDB:
    • sudo service mongodb status untuk memeriksa status database Anda. Anda akan melihat respons [Gagal] jika tidak ada database yang berjalan.
    • sudo service mongodb start untuk mulai menjalankan database Anda. Anda akan melihat respons [Ok].
    • sudo service mongodb stop untuk berhenti menjalankan database Anda.
  4. Verifikasi bahwa Anda tersambung ke server database dengan perintah diagnostik: mongo --eval 'db.runCommand({ connectionStatus: 1 })' Ini akan menghasilkan versi database saat ini, alamat server dan port, dan output perintah status. Nilai 1 untuk bidang "ok" dalam respons menunjukkan bahwa server berfungsi.

Catatan

MongoDB memiliki beberapa parameter default, termasuk menyimpan data di /data/db dan berjalan pada port 27017. Selain itu, mongod adalah daemon (proses host untuk database) dan mongo merupakan shell baris perintah yang terhubung ke instans tertentu dari mongod.

Visual Studio Code mendukung bekerja dengan database MongoDB melalui ekstensi Azure CosmosDB, Anda dapat membuat, mengelola, dan mengkueri database MongoDB dari dalam Visual Studio Code. Untuk mempelajari lebih lanjut, kunjungi dokumen Visual Studio Code: Bekerja dengan MongoDB.

Pelajari selengkapnya di dokumen MongoDB:

Menginstal Microsoft SQL Server

Untuk menginstal SQL Server di WSL (yaitu. Ubuntu), ikuti mulai cepat ini: Instal SQL Server dan buat database di Ubuntu.

Untuk bekerja dengan database Microsoft SQL Server di Visual Studio Code, coba ekstensi MSSQL.

Menginstal SQLite

Untuk menginstal SQLite di WSL (yaitu. Ubuntu):

  1. Buka terminal WSL Anda (yaitu. Ubuntu).
  2. Perbarui paket Ubuntu Anda: sudo apt update
  3. Setelah paket diperbarui, instal SQLite3 dengan: sudo apt install sqlite3
  4. Konfirmasi penginstalan dan dapatkan nomor versi: sqlite3 --version

Untuk membuat database pengujian, yang disebut "example.db", masukkan: sqlite3 example.db

Untuk melihat daftar database SQLite Anda, masukkan: .databases

Untuk melihat status database Anda, masukkan: .dbinfo ?DB?

Database akan kosong setelah pembuatan. Anda bisa membuat tabel baru untuk database Anda dengan CREATE TABLE empty (kol INTEGER);.

Sekarang memasukkan .dbinfo ?DB? akan menampilkan database yang telah Anda buat.

Untuk keluar dari perintah SQLite, masukkan: .exit

Untuk informasi selengkapnya tentang bekerja dengan database SQLite, lihat dokumen SQLite.

Untuk bekerja dengan database SQLite di Visual Studio Code, coba ekstensi SQLite.

Menginstal Redis

Untuk menginstal Redis di WSL (yaitu. Ubuntu):

  1. Buka terminal WSL Anda (yaitu. Ubuntu).
  2. Perbarui paket Ubuntu Anda: sudo apt update
  3. Setelah paket diperbarui, instal Redis dengan: sudo apt install redis-server
  4. Konfirmasi penginstalan dan dapatkan nomor versi: redis-server --version

Untuk mulai menjalankan server Redis Anda: sudo service redis-server start

Periksa untuk melihat apakah redis berfungsi (redis-cli adalah utilitas antarmuka baris perintah untuk berbicara dengan Redis): redis-cli ping ini harus mengembalikan balasan "PONG".

Untuk berhenti menjalankan server Redis Anda: sudo service redis-server stop

Untuk informasi selengkapnya tentang bekerja dengan database Redis, lihat dokumen Redis.

Untuk bekerja dengan database Redis di VISUAL Studio Code, coba ekstensi Redis.

Lihat layanan yang menjalankan dan menyiapkan alias profil

Untuk melihat layanan yang saat ini telah Anda jalankan pada distribusi WSL Anda, masukkan: service --status-all

Mengetik atau sudo service mongodb startsudo service postgres start dan sudo -u postgrest psql bisa membosankan. Namun, Anda dapat mempertimbangkan untuk menyiapkan alias dalam file Anda .profile di WSL untuk membuat perintah ini lebih cepat digunakan dan lebih mudah diingat.

Untuk menyiapkan alias kustom Anda sendiri, atau pintasan, untuk menjalankan perintah ini:

  1. Buka terminal WSL Anda dan masukkan cd ~ untuk memastikan Anda berada di direktori akar.

  2. .profile Buka file , yang mengontrol pengaturan untuk terminal Anda, dengan editor teks terminal, Nano:sudo nano .profile

  3. Di bagian bawah file (jangan ubah # set PATH pengaturan), tambahkan yang berikut ini:

    # My Aliases
    alias start-pg='sudo service postgresql start'
    alias run-pg='sudo -u postgres psql'
    

    Ini akan memungkinkan Anda untuk masuk start-pg untuk mulai menjalankan layanan postgresql dan run-pg membuka shell psql. Anda dapat mengubah start-pg dan run-pg ke nama apa pun yang Anda inginkan, berhati-hatilah untuk tidak menimpa perintah yang sudah digunakan postgres!

  4. Setelah Anda menambahkan alias baru, keluar dari editor teks Nano menggunakan Ctrl+X -- pilih Y (Ya) saat diminta untuk menyimpan dan Memasukkan (meninggalkan nama file sebagai .profile).

  5. Tutup dan buka kembali terminal WSL Anda, lalu coba perintah alias baru Anda.

Pemecahan Masalah

Kesalahan: argumen fdatasync directory-sync Tidak valid

Pastikan Anda menjalankan distribusi Linux Anda dalam mode WSL 2. Untuk bantuan beralih dari WSL 1 ke WSL 2, lihat Mengatur versi distribusi Anda ke WSL 1 atau WSL 2.

Sumber Daya Tambahan: