Salah satu bagian penting di dunia IT adalah database. Dari mulai web server, data transaksi, data karyawan dan masih banyak lagi, pasti menggunakan database. Database ini ada yang sudah bundle dengan suatu aplikasi ataupun database yang di build dari awal oleh admin untuk sekedar menyimpan data-data ataupun di integrasikan dengan aplikasi lain. Tapi jaman sekarang tetap kemampuan untuk mengelola database ini bisa dibilang penting bagi admin IT karena hampir semua software memiliki database.
Untuk mengolah database bisa menggunakan software DBMS (DataBase Management System) yang beredaran dimana-mana, dari mulai yang free sampai yang berbayar, dengan kelebihan dan kelemahan masing-masing tentunya. Beberapa software DBMS yang biasanya digunakan adalah Oracle, Microsoft SQL Server, MySQL Server, MariaDB Server, PostgreSQL. Dari software yang saya sebutkan, semuanya umum digunakan untuk production perusahaan ataupun development. Secara kemampuan, ada 2 software DBMS yang bisa dibilang sangat bagus, yaitu Oracle dan Microsoft SQL Server yang merupakan software berbayar dan menjadi standar di perusahaan berskala besar.
Sekitar 2 pekan lalu, saya diberi tugas oleh dosen saya untuk instal Microsoft SQL Server. Software DBMS milik microsoft ini hanya bisa dijalankan di atas sistem operasi Windows, sedangkan saya sehari-hari menggunakan MacOS. Setelah saya cari ternyata Microsft mengeluarkan MS SQL Server versi 2017 yang bisa dijalankan diatas sistem operasi LInux, akhirnya saya coba cari cara untuk menjalankan MS SQL Server versi 2017 menggunakan Docker di Mac saya dan ternyata bisa.
Dibawah ini saya akan menunjukkan langkah-langkah untuk melakukannya.
Install & Run Docker
Untuk instal Docker di MacOS sangat mudah, tinggal klik-klik saja jadi seharusnya bagian ini tidak sulit.
- Download file installer Docker untuk MacOS (.dmg) di link berikut https://docs.docker.com/v17.12/docker-for-mac/install/#download-docker-for-mac kita pilih yang Stable saja
- Klik file installer yang sudah di download
- Drag&drop icon Docker ke direktori Application
- Buka aplikasi Docker
- Klik OK, masukkan password akun administrator
- Tunggu sampai Docker berstatus “Docker Desktop is running”
Run MS SQL Server
- Buka terminal MacOS
- Download images MS SQL Server untuk Linux menggunakan perintah berikut
Colamen:~ raihan$ docker pull microsoft/mssql-server-linux Using default tag: latest latest: Pulling from microsoft/mssql-server-linux 59ab41dd721a: Pull complete 57da90bec92c: Pull complete 06fe57530625: Pull complete 5a6315cba1ff: Pull complete 739f58768b3f: Pull complete 0b751601bca3: Pull complete bcf04a22644a: Pull complete 6b5009e4f470: Pull complete a9dca2f6722a: Pull complete Digest: sha256:9b700672670bb3db4b212e8aef841ca79eb2fce7d5975a5ce35b7129a9b90ec0 Status: Downloaded newer image for microsoft/mssql-server-linux:latest
- Jalankan container dari image MS SQL Server. Untuk bagian SA_PASSWORD=…. harus diisi strong password karena jika tidak maka MS SQL Server tidak akan running
Colamen:~ raihan$ docker run -d --name sql_server -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=reallyStrongPwd123' -p 1433:1433 microsoft/mssql-server-linux b57581b369be00191d8c2c3db7ad0d13c177e2a2f4f14c8132ee95797442ee83
- Setelah itu mysql sudah bisa dikoneksikan dari mesin lain ataupun dari MacOS tempat MS SQL Server langsung. Tapi untuk hal itu ada command line tool yang harus di instal terlebih dahulu
Install NodeJs
NodeJs ini adalah semacam tool untuk instal software. NodeJs ini akan kita gunakan untuk instal software command line tool SQL, jadi NodeJs ini buka command line tool yang saya maksud.
- NodeJs bisa di download di link berikut https://nodejs.org/dist/v10.15.3/node-v10.15.3.pkg kita pilih LTS
- Setelah download, klik file installer NodeJs dan lakukan instalasi sampai selesai
Install sql-cli
- Untuk instal command line tool SQL bisa menggunakan perintah
Colamen:~ raihan$ sudo npm install -g sql-cli npm WARN deprecated sprintf@0.1.5: The sprintf package is deprecated in favor of sprintf-js. npm WARN deprecated core-js@1.2.7: core-js@<2.6.5 is no longer maintained. Please, upgrade to core-js@3 or at least to actual version of core-js@2. /usr/local/bin/mssql -> /usr/local/lib/node_modules/sql-cli/bin/mssql + sql-cli@0.6.2 added 46 packages from 83 contributors in 7.245s
Koneksi ke MS SQL Server
- Untuk mengkoneksikan MacOS dengan MS SQL Server yang sudah berjalan di Docker bisa menggunakan perintah berikut
Colamen:~ raihan$ mssql -u sa -p reallyStrongPwd123 Connecting to localhost...done sql-cli version 0.6.2 Enter ".help" for usage hints. mssql>
Permisi kak, aku coba instal sql server pakai docker juga. Tapi kemudian pakai azure sql database. Kalau mau ngeattach database gmana ya kak? Soalnya pakai mac jadi bingung cara”nya
Halo Kak Annisa,
Bisa coba tambahkan parameter -v saat menjalankan perintah docker. Nanti kurang lebih contoh perintahnya seperti ini jika menggunakan container sql server
docker run -d -v /path/existing/database:/path/sql-db/di-container --name sql_server -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=reallyStrongPwd123' -p 1433:1433 microsoft/mssql-server-linux