Bagaimana cara menjalankan file sql dalam wadah buruh pelabuhan mysql?

Masalah. Saya memiliki file SQL dan wadah buruh pelabuhan. Bagaimana Anda memasukkan file SQL lokal di PC ke wadah buruh pelabuhan?

Pertama temukan wadah buruh pelabuhan

docker ps

Ini akan mencantumkan banyak id kontainer. Temukan yang berhubungan dengan mysql

CONTAINER ID        IMAGE                   ...
[YourContainerId]        mysql:5.7.29            ...CONTAINER ID        IMAGE                   
_

Sekarang salin file sql menggunakan docker cp ke dalam wadah kami

docker cp your.sql [YourContainerId]:/your.sql

Setelah selesai, kita perlu masuk ke wadah kita dan mengimpor ke database mysql kita

docker exec -it [YourContainerId] bin/bash

Setelah kita masuk, sekarang kita bisa masuk ke mysql

mysql -u root -p 
_

Untuk melihat database Anda, jalankan show databases;

Pilih database yang akan Anda impor

use your-database-name

Sekarang impor dengan menjalankan

source your.sql
_

Menjalankan aplikasi Anda di mesin yang berbeda bisa sangat menegangkan karena pengelolaan lingkungan. Docker memecahkan masalah ini dengan menggunakan teknologi containerisasinya, yang menggunakan image Docker. Jika Anda baru di Docker atau ingin memoles keterampilan Anda, baca posting berikut di mana saya telah membahas beberapa dasar

Cara Memasang Direktori Di Dalam Kontainer Docker

Fokus pada penulisan kode tanpa mengkhawatirkan pengelolaan lingkungan

menuju ilmu data. com

Setelah menyelesaikan tutorial ini, Anda akan segera menguji kueri MySQL apa pun menggunakan Docker. Metode ini akan menghemat waktu dan tenaga karena Anda tidak perlu menginstal atau mengkonfigurasi MySQL

Mempersiapkan

Pertama, Anda perlu menginstal Docker. Untuk contoh ini, kami akan menggunakan file penulisan Docker, file SQL yang berisi data bootstrap, juga dikenal sebagai mysql-dump dan macOS. Kita harus meletakkan file docker-compose.yml dan school.sql di dalam folder yang sama. Nama folder yang digunakan dalam pengaturan ini adalah MySQL-Snippets

  • Komposisi Docker. Kita dapat menggunakan komposisi Docker untuk menjalankan banyak kontainer dan menentukan propertinya di dalam file YAML. Wadah ini dikenal sebagai layanan. Akan sangat membantu bila aplikasi Anda memiliki banyak tumpukan, seperti server web dan server basis data
  • MySQL-dump. Dump mysql berisi kueri MySQL dalam teks biasa. Klien baris perintah MySQL dapat menjalankan perintah ini dan mengirimkannya ke server MySQL

Mari kita uraikan masing-masing bahan dari file docker-compose.yml

version: '3.1'
services:
db:
image: mysql
restart: always
environment:
MYSQL_ROOT_PASSWORD: root
MYSQL_DATABASE: test_db
ports:
- "3307:3306"
volumes:
- $HOME/Desktop/MySQL-Snippets/school.sql:/school.sql

Pertama, kami menggunakan tag versi untuk menentukan format file Compose, yaitu 3. 1. Ada format file lain — 1, 2, 2. x, dan 3. x. Dapatkan informasi selengkapnya tentang format file Compose dari dokumentasi Docker di sini

Kami mengikuti tag versi kami dengan hash layanan. Di dalamnya, kita harus menentukan layanan yang ingin kita gunakan untuk aplikasi kita. Untuk aplikasi kami, kami hanya memiliki satu layanan bernama db

Untuk membuat proses penyiapan kami cepat dan mudah, kami menggunakan gambar resmi MySQL yang telah dibuat sebelumnya untuk tag gambar

Saat kami menggunakan always untuk tag mulai ulang, penampung selalu dimulai ulang. Itu bisa menghemat waktu. Misalnya, Anda tidak perlu memulai wadah setiap kali Anda mem-boot ulang mesin secara manual. Itu me-restart wadah ketika daemon Docker dimulai ulang atau wadah itu sendiri dimulai ulang secara manual

Di bawah tag lingkungan, kami telah menentukan variabel lingkungan, yang akan kami gunakan untuk otentikasi basis data

Tag port digunakan untuk mendefinisikan port host dan kontainer. Ini memetakan port 3307 pada host ke port 3306 pada wadah

Terakhir, tag volume digunakan untuk memasang folder dari mesin host ke wadah. Ini terdiri dari dua bidang yang dipisahkan oleh titik dua. Bagian pertama adalah jalur di mesin host. Bagian kedua adalah jalur di dalam wadah. Hapus bagian ini jika Anda tidak ingin memasang mysql-dump ke dalam container

Bagus, Anda telah menyelesaikan penyiapan untuk pos ini. Sekarang jalankan perintah berikut dari direktori yang sama di mana file docker-compose.yml berada. Perintah docker compose up memulai dan menjalankan seluruh aplikasi Anda

docker compose up
_

Sekarang jalankan perintah

docker compose up
0 pada mesin host untuk melihat daftar wadah Anda yang sedang berjalan. Seperti yang bisa kita lihat, kita memiliki container yang sedang berjalan bernama
docker compose up
1

buruh pelabuhan ps

Kita juga dapat melihat gambar dibuat dengan menjalankan perintah

docker compose up
2

docker compose up
_2

Akses container yang sedang berjalan

docker compose up
1 dengan menjalankan perintah berikut

docker exec -it mysql-snippets_db_1 bash

Perintah

docker compose up
5 memungkinkan kita untuk memasuki wadah yang sedang berjalan. Bendera
docker compose up
_6 (sering ditulis sebagai
docker compose up
7) digunakan untuk mengakses wadah dalam mode interaktif. Sekarang kami memberikan nama wadah yang ingin kami akses, yang dalam hal ini
docker compose up
8. Perintah
docker compose up
9 digunakan untuk mendapatkan bash shell di dalam wadah, sehingga kita dapat mengakses baris perintah MySQL dan menjalankan kueri MySQL

Anda baru saja selesai menyiapkan penampung. Sekarang, kita akan membahas cara terhubung ke server MySQL

Hubungkan ke server MySQL

Sambungkan ke server MySQL menggunakan nama pengguna dan kata sandi Anda sebagai

docker exec -it mysql-snippets_db_1 bash
0. Setelah terhubung ke server, Anda dapat menjalankan perintah MySQL

mysql -uroot -proot

Ini contoh yang bisa Anda coba

TAMPILKAN DATABASE;

Kita bisa melihat database kita bernama test_db, didefinisikan di dalam file Compose kita. Untuk memilih database, jalankan perintah

docker exec -it mysql-snippets_db_1 bash
1. Gunakan perintah
docker exec -it mysql-snippets_db_1 bash
_2 untuk menampilkan semua tabel database test_db kita. Ketik
docker exec -it mysql-snippets_db_1 bash
_3 untuk menghapus konsol

Karena kami tidak memiliki tabel apa pun, perintah

docker exec -it mysql-snippets_db_1 bash
2 mengembalikan set kosong. Sekarang Anda telah mengonfirmasi bahwa Anda telah terhubung ke server MYSQL, dan Anda dapat melanjutkan ke langkah berikutnya

Memuat data dari file

Sekarang kita dapat memuat dump MySQL ke database

docker exec -it mysql-snippets_db_1 bash
5 kita. Yang dalam hal ini school.sql. Itu dapat diakses di dalam wadah karena kami telah memasangnya dari mesin host

mysql -uroot -p test_db < school.sql

Sambungkan ke server MySQL menggunakan nama pengguna

docker exec -it mysql-snippets_db_1 bash
0. Masukkan kata sandi
docker exec -it mysql-snippets_db_1 bash
_0untuk mengautentikasi. Sekarang kami menyetel database default ke
docker exec -it mysql-snippets_db_1 bash
5.
mysql -uroot -proot
_0 bersama dengan nama file digunakan untuk mengirim perintah ke server

impor mysql dump ke sql server

Jika kita menjalankan perintah MySQL

mysql -uroot -proot
_1, kita dapat melihat dua tabel yang disebut tanda dan siswa di dalam database kita
docker exec -it mysql-snippets_db_1 bash
5, yang didefinisikan di dalam school.sql

Bungkus

Database relasional seperti MySQL sering digunakan dalam industri, jadi ini adalah topik yang ingin Anda pahami secara menyeluruh. Sekarang setelah Anda menyelesaikan tutorial dasar ini, Anda dapat mendalami lebih dalam menjelajahi MySQL dengan Docker. Anda dapat menemukan lebih banyak perintah MySQL di sini. Docker telah merevolusi cara kami mengelola lingkungan, termasuk pengembangan, pengujian, dan produksi. Itu sebabnya Anda harus memperoleh keterampilan ini untuk keperluan pribadi dan industri. Saya harap ini akan membantu Anda memulai dengan MySQL dan Docker

Bagaimana cara menjalankan skrip SQL dalam wadah MySQL Docker?

Jalankan MySQL di Docker Container .
Tarik gambar MySQL. .
Mulai server MySQL. .
Konfigurasi server MySQL. .
Konfigurasikan pencatatan. .
Hubungkan ke server MySQL. .
Jalankan pernyataan SQL. .
Ubah status dan hentikan. .
Jalankan tes integrasi dengan Maven

Bagaimana cara menjalankan file SQL di wadah Docker?

Menjalankan Kueri SQL Server Di Docker .
docker run -e 'ACCEPT_EULA=Y' -e "SA_PASSWORD=Pass123. " - hal 1433. 1433 --nama sqlserver -d mcr. microsoft. com/mssql/server. 2019-terbaru
docker exec -itu sqlserver "bash"
docker exec -itu sqlserver /bin/sh
/opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P 'Pass123. '

Bagaimana cara mengimpor file SQL di MySQL Docker?

Ini adalah cara sederhana untuk mengimpor database MySQL di Docker. .
Di dalam Dockerfile Anda, Anda harus memiliki folder bersama. .
Letakkan file sql yang diekspor di folder bersama
Masuk ke instance Docker Anda melalui docker exec -it DOCKER_CONTAINER_ID bin/bash
Masuk ke MySQL melalui mysql -u USERNAME -p

Bagaimana cara menjalankan a. file SQL di MySQL?

Bagaimana cara menjalankan skrip SQL di MySQL? .
Sekarang, File -> Open SQL Script untuk membuka skrip SQL. .
Setelah menjelajah. sql, Anda harus memilih opsi "Hubungkan kembali ke database" seperti yang ditunjukkan pada tangkapan layar berikut −
Sekarang, ia akan meminta kata sandi untuk terhubung dengan MySQL. .
Catatan - Tekan tombol OK dua kali untuk terhubung dengan MySQL