Bagaimana cara menjalankan mysql di windows docker?

MySQL digunakan oleh lebih dari 39% pengembang di dunia pada tahun 2019, menjadikannya Database paling populer di dunia. Itu pasti tidak memiliki fitur ekstensif yang disediakan oleh PostgreSQL, tetapi masih berguna untuk banyak kasus penggunaan seperti Aplikasi Web.  

Karena sudah menjadi standar dalam tumpukan LAMP, di mana tumpukan LAMP adalah rangkaian aplikasi web Open-Source yang terdiri dari Linux, Apache HTTP Server, MySQL, PHP; . Mari kita bicara tentang beberapa fitur menonjol yang membuat MySQL sangat menarik. Juga, lihat bagaimana Anda dapat mengintegrasikan dari MySQL ke PostgreSQL.  

Fitur Utama MySQL

  • Dipelihara oleh Oracle. Oracle memiliki dan memelihara MySQL. Ini juga menawarkan versi premium MySQL dengan layanan tambahan, plugin berpemilik, dukungan pengguna, dan ekstensi.  
  • Sejarah Panjang. MySQL telah ada selama lebih dari 20 tahun sejak rilis awal pada tahun 1995
  • Pembaruan yang Sering. MySQL dibuat lebih kuat dengan pembaruan yang sering dengan fitur baru dan peningkatan keamanan. Rilis terbaru adalah Versi 8. 0. 23 dirilis pada 18 Januari 2021
  • Fitur MVC. MySQL baru-baru ini mulai menawarkan fitur MVCC (Multi-Version Concurrency Control).  
  • Komunitas yang Mendukung. Komunitas pengembang yang setia tersedia untuk membantu memecahkan masalah jika diperlukan
  • Sumber Terbuka. MySQL juga merupakan Relational Database Management System (RDBMS) gratis dan Open-Source
  • Pengguna. MySQL digunakan secara luas oleh Google, NASA, Flickr, GitHub, Netflix, Tesla, Twitter, Uber, Wikipedia, YouTube, Zendesk.

MySQL adalah database ringan yang dapat diinstal dan digunakan oleh pengembang pada server aplikasi produksi dengan aplikasi multi-tier yang besar. Memanfaatkan MySQL sebagai bagian dari alur kerja Anda memiliki beberapa keuntungan.   

  • Fitur seperti Master-Slave Replication, Scale-Out didukung oleh MySQL
  • Pelaporan Offload, Distribusi Data Geografis juga didukung oleh MySQL
  • Ada overhead yang sangat rendah dengan Mesin Penyimpanan MyISAM saat digunakan untuk aplikasi hanya-baca
  • Untuk tabel yang sering digunakan, MySQL menyediakan dukungan untuk Memory Storage Engine
  • Untuk pernyataan yang digunakan berulang kali, terdapat Cache Kueri.  
  • MySQL mudah dipelajari dan memecahkan masalah mengingat sejumlah besar sumber bermanfaat seperti blog, kertas putih, dan buku tentang subjek tersebut.  
  • MySQL adalah Sistem Manajemen Basis Data yang sangat fleksibel dan dapat diskalakan

Apa itu Docker?

Bagaimana cara menjalankan mysql di windows docker?
  • Terakhir, Anda perlu memverifikasi bahwa gambar yang sekarang disimpan secara lokal dengan mencantumkan gambar Docker yang diunduh
sudo docker images
  • Outputnya harus berisi mysql/mysql-server sebagai komponen dari gambar yang terdaftar
Bagaimana cara menjalankan mysql di windows docker?

Langkah 2. Terapkan dan Mulai Wadah MySQL

  • Sekarang setelah Anda mengekstrak image dari repositori Docker, Anda dapat melanjutkan untuk menerapkan Container MySQL baru dengan potongan kode berikut
sudo docker run --name=[container_name] -d [image_tag_name]
_
  • Ubah [container_name] dengan nama yang Anda inginkan. Jika Anda tidak memberi nama, Docker akan memilihkannya untuk Anda, secara default
  • Opsi -d memberi tahu Docker untuk menjalankan Container sebagai Layanan di latar belakang. Selanjutnya, ubah [nama_tag_gambar] dengan nama gambar yang Anda unduh pada langkah sebelumnya. Untuk contoh ini, Anda dapat membuat wadah bernama mysql_docker dengan tag versi terbaru berdasarkan cuplikan kode berikut
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
  • Untuk memeriksa apakah Docker MySQL Container sedang berjalan, gunakan perintah berikut
docker ps
  • Dengan perintah ini, Anda dapat melihat wadah yang baru dibuat yang tercantum dalam output. Ini terdiri dari detail wadah penting, misalnya, status lingkungan virtual. Status diubah dari kesehatan. mulai sehat, setelah Anda menyelesaikan proses penyiapan.  
Bagaimana cara menjalankan mysql di windows docker?

Langkah 3. Terhubung dengan Docker MySQL Container

  • Sebelum Anda menghubungkan Wadah Server MySQL dengan host, Anda perlu memastikan bahwa Paket Klien MySQL telah diinstal dengan perintah berikut
apt-get install mysql-client
_
  • Selanjutnya, Anda perlu membuka file log untuk Docker MySQL Container untuk menemukan kata sandi root yang Anda buat
sudo docker logs [container_name]
  • Sekarang Anda memiliki wadah mysql_docker, jalankan perintah berikut
sudo docker logs mysql_docker
_
  • Lihat melalui output dan temukan baris '[Entrypoint] GENERATED ROOT PASSWORD. ’. Selanjutnya, salin dan tempel kata sandi di editor teks atau notepad untuk digunakan di masa mendatang.  
Bagaimana cara menjalankan mysql di windows docker?
  • Selanjutnya, arahkan ke bash shell dari MySQL Container dan ketik perintah berikut
sudo docker exec -it [container_name] bash
  • Untuk wadah yang Anda buat sebagai contoh, Anda dapat menjalankan perintah ini
sudo docker -it mysql_docker bash
_
  • Berikan kata sandi root yang baru saja Anda salin dari file log kapan pun Anda diminta. Ini melengkapi proses koneksi dari Klien MySQL ke Server
Bagaimana cara menjalankan mysql di windows docker?
  • Setelah menyelesaikan langkah sebelumnya untuk penyiapan Docker MySQL Container, ubah kata sandi server root untuk melindungi informasi sensitif Anda dengan cuplikan ini
sudo docker images
0
  • Untuk perintah di atas, ganti klausa [kata sandi baru] dengan kata sandi kuat yang diinginkan
Bagaimana cara menjalankan mysql di windows docker?

Bagaimana Cara Mengonfigurasi Docker MySQL Container Anda?

Jika Anda ingin mengintip konfigurasi Docker MySQL Container Anda, Anda dapat menemukannya di '/etc/mysql/my. direktori cnf='. Jika Anda ingin mengubah konfigurasi, Anda perlu membuat file konfigurasi alternatif di mesin host dan memasangnya di dalam Docker MySQL Container

  • Langkah 1. Buat direktori baru di mesin host dengan cuplikan kode ini
sudo docker images
_1
  • Langkah 2. Selanjutnya, Anda perlu membuat file konfigurasi MySQL yang disesuaikan di dalam direktori tersebut dengan perintah berikut
sudo docker images
_2
  • Langkah 3. Setelah membuka file tersebut, Anda dapat menambahkan baris dengan konfigurasi yang Anda inginkan. Misalnya, jika Anda ingin menambah jumlah koneksi maksimum menjadi 250 (dibandingkan dengan nilai default 151), Anda dapat menambahkan baris berikut ke file konfigurasi
sudo docker images
3
Bagaimana cara menjalankan mysql di windows docker?

Anda dapat mengubah konfigurasi instance MySQL dengan meneruskan satu atau beberapa variabel lingkungan ke baris perintah docker run saat memulai image mysql. Jika Anda memulai wadah dengan direktori data yang sudah berisi database, tidak ada variabel di bawah ini yang akan berpengaruh. basis data yang sudah ada sebelumnya akan diabaikan saat penampung dimulai.

Anda dapat mengubah konfigurasi instance MySQL dengan meneruskan satu atau beberapa variabel lingkungan ke baris perintah docker run saat memulai gambar mysql. Jika Anda memulai wadah dengan direktori data yang sudah berisi database, tidak ada variabel di bawah ini yang akan berpengaruh. basis data yang sudah ada sebelumnya akan diabaikan saat penampung dimulai

PASSWORD ROOT MYSQL
Ini adalah variabel wajib yang menentukan kata sandi untuk akun superuser root MySQL. Itu diatur ke my-secret-pw pada contoh di atas

DATABASE MYSQL
Variabel ini opsional dan memungkinkan Anda memberi nama database yang akan dibuat saat gambar dimulai. Jika pengguna/kata sandi diberikan (lihat di bawah), pengguna tersebut akan diberikan akses superuser ke database ini (sesuai dengan GRANT ALL)

MYSQL USER dan MYSQL PASSWORD adalah dua variabel di MySQL
Variabel ini bersifat opsional dan digunakan untuk membuat pengguna baru dan menyetel kata sandi untuk pengguna tersebut. Untuk database yang ditentukan oleh variabel MYSQL DATABASE, pengguna ini akan diberikan izin pengguna super (lihat di atas). Kedua variabel harus ada untuk membuat pengguna

Perlu dicatat bahwa mekanisme ini tidak diperlukan untuk membuat pengguna super root;

MYSQL MENGIZINKAN PASSWORD KOSONG
Ini adalah variabel yang tidak wajib. Setel ke nilai yang tidak kosong, seperti ya, untuk mengizinkan penampung dimulai dengan kata sandi pengguna root kosong. CATATAN. Jika Anda menyetel variabel ini ke ya, instans MySQL Anda tidak akan terlindungi sama sekali, memungkinkan siapa saja untuk mendapatkan akses pengguna super lengkap

PASSWORD ROOT RANDOM MYSQL
Ini adalah variabel yang tidak wajib. Untuk menghasilkan kata sandi awal acak untuk pengguna root, setel ke nilai yang tidak kosong, seperti ya (menggunakan pwgen). Kata sandi root dihasilkan dan dicetak ke stdout (PASSWORD ROOT YANG DIBUAT. …. )

PASSWORD SATU KALI MYSQL
Setelah init selesai, root (bukan pengguna yang ditentukan dalam MYSQL USER. ) pengguna ditandai sebagai kedaluwarsa, membutuhkan perubahan kata sandi pada login pertama. Pengaturan ini diaktifkan oleh nilai yang tidak kosong. CATATAN. Fitur ini hanya tersedia di MySQL 5. 6 dan lebih tinggi. Saat menggunakan opsi ini dengan MySQL 5. 5, kesalahan yang sesuai akan terjadi selama inisialisasi

MYSQL INITDB SKIP TZINFO
Data zona waktu yang diperlukan untuk fungsi CONVERT TZ() dimuat secara otomatis secara default oleh skrip entrypoint. Setiap nilai yang tidak kosong menonaktifkan pemuatan zona waktu jika tidak diperlukan

  • Langkah 4. Simpan file dan keluar. Sekarang, agar perubahan diterapkan, Anda perlu menjalankan kembali MySQL Container setelah menghapusnya. Untuk ini, penampung memanfaatkan kombinasi pengaturan konfigurasi dari file yang baru dibuat bersama dengan file konfigurasi default. Anda dapat menjalankan Docker MySQL Container dan memetakan jalur volume dengan potongan kode berikut
sudo docker images
_4
  • Langkah 5. Sekarang, untuk memeriksa apakah Docker MySQL Container telah memuat konfigurasi dari host, Anda dapat menjalankan perintah berikut
sudo docker images
5
  • Langkah 6. Anda sekarang dapat memeriksa jumlah koneksi maksimum untuk Docker MySQL Container Anda. Itu harus menunjukkan 250 koneksi

Pengaturan Bonus. Bagaimana Menghubungkan Mesin Host dengan Docker MySQL?

  • Langkah 1. Mulai wadah dan petakan ke port lokal untuk memulai proses. Pada langkah ini, Anda akan memetakan port dari Docker Container ke port di localhost yang dapat digunakan untuk terhubung ke MySQL. Pertama, Anda perlu menghapus wadah yang Anda buat dengan serangkaian perintah berikut
sudo docker images
_6
  • Langkah 2. Setelah menghapus wadah, Anda dapat memulai wadah baru dengan Gambar MySQL yang sama dan memetakan port Docker ke port localhost. Anda dapat melakukan ini dengan bantuan perintah berikut
sudo docker images
_7
  • Langkah 3. Selanjutnya, Anda perlu memastikan bahwa tidak ada kesalahan setelah perintah di atas dijalankan. Jika semuanya berjalan dengan baik, perintah di atas akan mencetak ID wadah yang dihasilkan.  
  • Langkah 4. Setelah memulai wadah, Anda perlu terhubung ke MySQL dari localhost dengan menggunakan alat GUI seperti MySQL Workbench atau baris perintah
  • Langkah 5. Untuk baris perintah, Anda dapat menggunakan cuplikan ini untuk memulai
sudo docker images
_8
  • Langkah 6. Setelah Anda menjalankan perintah, Anda akan melihat bahwa Anda terhubung ke instance MySQL berbasis Docker. Anda dapat menjalankan perintah apa pun untuk memeriksa apakah itu berfungsi dengan baik.  

Mengelola Docker MySQL Container Anda

  • Langkah 1. Docker menyimpan data dalam volume internalnya secara default, jadi, untuk memeriksa lokasi volume internal Docker, Anda dapat menggunakan cuplikan kode berikut
sudo docker images
_9
  • Langkah 2. Untuk perintah ini, Anda dapat melihat /var/lib/mysql terpasang di volume internal
Bagaimana cara menjalankan mysql di windows docker?
  • Langkah 3. Anda bahkan dapat memodifikasi lokasi direktori data dan membuatnya yang ada di host Docker MySQL Container Anda. Memiliki volume di luar wadah memungkinkan alat dan aplikasi lain mengakses volume saat diperlukan
  • Langkah 4. Selanjutnya, Anda perlu menemukan volume host yang sesuai dan membuat direktori data di dalamnya dengan potongan kode berikut
sudo docker run --name=[container_name] -d [image_tag_name]
_0
  • Langkah 5. Setelah menjalankan perintah sebelumnya, mulai lagi wadah dengan memasang direktori yang dibuat sebelumnya dengan perintah ini
sudo docker run --name=[container_name] -d [image_tag_name]
_1
  • Langkah 6. Jika Anda memeriksa wadahnya, Anda seharusnya dapat mengintip data di dalam Docker MySQL Container dan menyadari bahwa itu disimpan di sistem host sekarang

sudo docker memeriksa [container_name]

Berikut adalah beberapa komponen penting untuk membantu Anda mengelola Docker Compose MySQL Container Anda

Bagaimana Memulai Kontainer untuk MySQL?

Cuplikan kode yang dapat Anda gunakan untuk memulai Docker MySQL Container adalah sebagai berikut

sudo docker run --name=[container_name] -d [image_tag_name]
_2

Bagaimana cara me-restart Container untuk MySQL?

Cuplikan kode yang dapat Anda gunakan untuk memulai ulang Docker MySQL Container adalah sebagai berikut

sudo docker run --name=[container_name] -d [image_tag_name]
_3

Bagaimana Cara Menghentikan Wadah untuk MySQL?

Cuplikan kode yang dapat Anda gunakan untuk menghentikan Docker MySQL Container adalah sebagai berikut

sudo docker run --name=[container_name] -d [image_tag_name]
_4

Bagaimana cara menghapus Docker MySQL Container Anda?

Jika Anda ingin menghapus Docker MySQL Container, Anda harus memastikan bahwa Anda telah menghentikannya terlebih dahulu. Selanjutnya, Anda dapat menghapus Docker Container dengan potongan kode berikut

sudo docker run --name=[container_name] -d [image_tag_name]
5
Bagaimana cara menjalankan mysql di windows docker?

Bagaimana Cara Meng-upgrade Docker MySQL Container Anda?

Untuk memutakhirkan Docker MySQL Container, Anda dapat mengikuti langkah-langkah yang disebutkan di bawah ini

  • Langkah 1. Hentikan Server MySQL untuk instance ini menggunakan cuplikan kode yang disebutkan di bawah
sudo docker run --name=[container_name] -d [image_tag_name]
_6
  • Langkah 2. Selanjutnya, unduh MySQL 8. 0 Server Docker image dan pastikan Anda memiliki tag yang tepat untuk MySQL 8. 0
  • Langkah 3. Mulai MySQL 8 baru. 0 Docker Container dengan konfigurasi lama dan data server yang sudah diterapkan di host. Jalankan perintah berikut untuk hal yang sama
sudo docker run --name=[container_name] -d [image_tag_name]
_7
  • Langkah 4. Sekarang, Anda harus menunggu server menyelesaikan startup. Anda dapat memeriksa status server dengan perintah docker ps
  • Langkah 5. Untuk versi MySQL sebelumnya, Anda perlu menjalankan utilitas mysql_upgrade di MySQL 8. 0 Kontainer Server sebagai berikut
sudo docker run --name=[container_name] -d [image_tag_name]
_8
  • Langkah 6. Masukkan kata sandi root untuk Server MySQL lama Anda dan selesaikan pemutakhiran dengan memulai ulang Wadah Server MySQL sebagai berikut
sudo docker run --name=[container_name] -d [image_tag_name]
_9

Perhatian

  • Tempat Menyimpan Data. Data disimpan dalam berbagai cara oleh aplikasi yang berjalan di wadah Docker. Pengguna gambar mysql harus terbiasa dengan opsi yang tersedia, termasuk
    • Izinkan Docker mengelola penyimpanan file database Anda di sistem host dengan menulis file database ke disk menggunakan manajemen volume internalnya sendiri. Ini adalah pengaturan default, dan sederhana serta transparan bagi pengguna. Sisi negatifnya adalah untuk alat dan aplikasi yang berjalan langsung di sistem host, seperti wadah luar, file mungkin sulit ditemukan
    • Buat direktori data pada sistem host (di luar wadah) dan pasang ke direktori yang dapat dilihat dari dalam wadah. Ini menempatkan file database di lokasi yang terkenal di sistem host, membuatnya dapat diakses oleh alat dan aplikasi sistem host. Kerugiannya adalah pengguna harus memastikan bahwa direktori tersebut ada dan bahwa mekanisme keamanan sistem host, seperti izin direktori dan mekanisme keamanan lainnya, telah dikonfigurasi dengan benar.

Dokumentasi Docker adalah tempat yang baik untuk mulai belajar tentang berbagai opsi dan variasi penyimpanan, dan ada sejumlah blog dan posting forum yang membahas dan menawarkan saran di bidang ini. Untuk opsi terakhir, kami hanya akan menunjukkan prosedur dasar di sini

Buat direktori data, seperti /my/own/datadir, pada volume yang sesuai di sistem host Anda

Mulailah wadah mysql Anda sebagai berikut

-v /saya/milik/datadir. /var/lib/mysql -e MYSQL ROOT PASSWORD=my-secret-pw -d docker run —beri nama mysql mysql. menandai
-v /my/own/datadir. /var/lib/mysql bagian dari perintah me-mount direktori /my/own/datadir sistem host yang mendasari sebagai /var/lib/mysql di dalam wadah, di mana MySQL akan menulis file datanya secara default

  • Tidak Ada Koneksi Hingga Init MySQL Selesai. Database default akan dibuat jika tidak ada database yang diinisialisasi saat container dimulai. Meskipun ini adalah perilaku normal, ini berarti tidak akan menerima koneksi masuk hingga inisialisasi selesai. Hal ini dapat menyebabkan masalah saat menggunakan alat otomasi seperti docker-compose, yang memulai beberapa kontainer secara bersamaan. Jika aplikasi yang Anda coba sambungkan ke MySQL tidak menangani downtime MySQL atau menunggu layanan dimulai dengan lancar, loop sambungkan ulang mungkin diperlukan sebelum layanan dimulai. Lihat WordPress atau Bonita untuk contoh penerapan seperti itu di gambar resmi
  • Penggunaan Terhadap Database yang Ada. Variabel $MYSQL ROOT PASSWORD harus dihilangkan dari baris perintah run jika Anda memulai instans wadah mysql dengan direktori data yang sudah berisi database (khususnya, subdirektori mysql);
  • Berjalan sebagai Pengguna Sewenang-wenang. Jika Anda mengetahui bahwa izin direktori Anda telah disetel dengan benar (misalnya, jika Anda menjalankan basis data yang sudah ada, seperti dijelaskan di atas), atau jika Anda perlu menjalankan mysqld dengan UID/GID tertentu, Anda dapat menggunakan gambar ini dengan —
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
0
  • Membuat Database Dump. Sebagian besar alat standar akan berfungsi, meskipun penggunaannya mungkin sedikit berbelit-belit dalam beberapa kasus untuk memastikan akses ke server mysqld. Menggunakan docker exec dan menjalankan alat dari wadah yang sama, seperti yang ditunjukkan di bawah ini, adalah cara sederhana untuk memastikan hal ini
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
1
  • Memulihkan Data dari File Dump. Untuk pemulihan data. Anda dapat menggunakan flag -i dengan perintah docker exec, seperti yang ditunjukkan di bawah ini
sudo docker run --name=[container_name] -d mysql/mysql-server:latest
2

Kesimpulan

Blog ini berbicara tentang langkah-langkah berbeda yang dapat Anda ikuti untuk menyiapkan Docker MySQL Container setelah pengenalan singkat tentang fitur menonjol dari MySQL dan Docker. Ini juga mencakup keuntungan memanfaatkan Docker MySQL Containers dan berbagai tips manajemen dan konfigurasi yang praktis

Mengekstrak data yang kompleks dari beragam sumber data untuk melakukan analisis mendalam bisa menjadi tantangan, dan di sinilah Hevo menghemat waktu. Hevo menawarkan cara yang lebih cepat untuk memindahkan data dari Database atau aplikasi SaaS seperti MySQL ke Gudang Data Anda untuk divisualisasikan dalam alat BI. Hevo sepenuhnya otomatis dan karenanya tidak mengharuskan Anda membuat kode

KUNJUNGI WEBSITE KAMI UNTUK MENJELAJAHI HEVO

Ingin mencoba Hevo?

DAFTAR dan rasakan langsung suite Hevo yang kaya fitur. Anda juga dapat melihat harga yang tidak ada duanya yang akan membantu Anda memilih paket yang tepat untuk kebutuhan bisnis Anda