Mysql2::error tidak dapat terhubung ke server mysql lokal melalui socket /tmp/mysql sock 2

Di era teknologi saat ini, organisasi harus merilis aplikasi dengan cepat untuk menarik dan mempertahankan bisnis. Hal ini membuat tim membangun dan mengonfigurasi lingkungan penerapan lebih cepat dengan biaya lebih rendah. Namun, teknologi peti kemas membantu membangun infrastruktur ringan

Artikel ini akan menjelaskan metode penggelaran dan koneksi ke server MySQL di lingkungan berbasis kontainer

Sekarang, mari kita masuk ke seluk beluknya

2. Penerapan Kontainer MySQL

Pertama, mari kita lihat langkah-langkah yang terlibat dalam penyebaran kontainer MySQL. Pada dasarnya MySQL mengikuti model arsitektur Client-Server. Di sini, server adalah gambar wadah dengan database, sedangkan klien digunakan untuk mengakses database di mesin host

Kami telah membagi alur kerja penerapan menjadi tiga bagian

2. 1. Penerapan Server MySQL

Sekarang, mari bawa instance server MySQL ke Docker. Kami cukup membangun wadah berdasarkan gambar MySQL yang diambil dari Docker Hub. Ada dua hal yang harus kita pertimbangkan saat memilih versi image mana yang akan ditarik dari Docker Hub

  • Stamping Gambar Resmi – Ini adalah gambar yang lebih aman dan dikurasi dari tim pengembang MySQL
  • Tag Terbaru – Kecuali kami memiliki reservasi pada versi MySQL, kami dapat menggunakan versi terbaru yang tersedia di repositori

Mari tarik citra MySQL resmi dari Docker Hub menggunakan perintah docker pull

$ docker pull mysql:latest latest: Pulling from library/mysql f003217c5aae: Pull complete … … output truncated … … 70f46ebb971a: Pull complete db6ea71d471d: Waiting c2920c795b25: Downloading [=================================================> ] 105.6MB/107.8MB 26c3bdf75ff5: Download complete

Biasanya, gambar adalah lapisan-lapisan berbeda yang dipasangkan dengan erat dalam bentuk terurut seperti yang dijelaskan dalam file manifes. Perintah tarik buruh pelabuhan kami akan mendapatkan lapisan gambar dari blob store dan secara otomatis membuat gambar menggunakan file manifes

… … output truncated … … 4607fa685ac6: Pull complete Digest: sha256:1c75ba7716c6f73fc106dacedfdcf13f934ea8c161c8b3b3e4618bcd5fbcf195 Status: Downloaded newer image for mysql:latest docker.io/library/mysql:latest_

Gambar yang dibundel mendapatkan kode hash untuk referensi di masa mendatang seperti yang ditunjukkan di atas

Tanpa basa-basi lagi, mari jalankan containernya. Perintah docker run biasanya membuat lapisan wadah yang dapat ditulisi di atas lapisan gambar. Kita harus memberikan nama container menggunakan argumen -name dan menggunakan image MySQL dengan tag terbaru. Selanjutnya, kami akan mengatur kata sandi server MySQL melalui variabel lingkungan MYSQL_ROOT_PASSWORD. Dalam kasus kami, kata sandi disetel ke "baeldung"

Terakhir, opsi -d membantu kita menjalankan wadah sebagai daemon. Output melempar kode hash lain untuk manajemen wadah di masa mendatang

$ docker run --name bael-mysql-demo -e MYSQL_ROOT_PASSWORD=baeldung -d mysql:latest fedf880ce2b690f9205c7a37f32d75f669fdb1da2505e485e44cadd0b912bd35

Kita dapat melihat semua wadah yang berjalan di host melalui perintah ps

$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES fedf880ce2b6 mysql:latest "docker-entrypoint.s…" 17 seconds ago Up 16 seconds 3306/tcp, 33060/tcp bael-mysql-demo

2. 2. Instalasi Klien MySQL

Ini wajib untuk menginstal klien untuk mendapatkan akses mudah ke server MySQL. Bergantung pada kebutuhan kita, kita dapat menginstal klien di mesin host atau mesin atau wadah lain yang memiliki jangkauan IP dengan wadah server

$ sudo apt install mysql-client -y Reading package lists.. Done Building dependency tree Reading state information.. Done mysql-client is already the newest version (5.7.37-0ubuntu0.18.04.1). … … output truncated … …_

Sekarang, mari aktifkan ekstraksi jalur instalasi dan versi klien MySQL

$ which mysql /usr/bin/mysql $ mysql --version mysql Ver 14.14 Distrib 5.7.37, for Linux (x86_64) using EditLine wrapper

2. 3. Membangun Komunikasi

Selanjutnya, mari masuk ke server menggunakan klien yang diinstal. Secara tradisional, kami menggunakan perintah MySQL dengan nama pengguna dan kata sandi untuk login server. Namun, itu tidak akan berfungsi dalam kasus solusi berbasis wadah

$ mysql -u root -p ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)_

Kami akan berakhir dengan kesalahan soket seperti yang diilustrasikan di atas. Di sini, penting untuk dipahami bahwa server MySQL adalah wadah dan tidak hanya dipasang di mesin host. Seperti yang disorot di bagian di atas, kontainer adalah server ringan dengan sumber daya komputasi, jaringan, dan penyimpanannya sendiri

Perintah inspeksi membantu mengalokasikan alamat IP ke instance server MySQL

$ docker inspect -f '{{range.NetworkSettings.Networks}}{{.IPAddress}}{{end}}' bael-mysql-demo 172.17.0.2

Mari berikan alamat IP di atas dalam opsi host klien, dengan nomor port default dan tipe protokol sebagai TCP

$ mysql -h 172.17.0.2 -P 3306 --protocol=tcp -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. … … output truncated … … mysql> mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | mysql | | performance_schema | | sys | +--------------------+ 4 rows in set (0.00 sec) mysql> exit Bye_

Selamat, kita telah berhasil masuk ke server MySQL

3. Kesimpulan

Singkatnya, kita telah melihat secara rinci langkah-langkah untuk menerapkan container server MySQL, menginstal klien MySQL di mesin host, dan terakhir, membangun koneksi di antara mereka menggunakan informasi container.

Bagaimana cara saya terhubung ke server MySQL lokal melalui soket?

Hubungkan ke MySQL dengan soket unix
Temukan file soket Unix
Periksa koneksi soket Unix dari baris perintah
Unduh perpustakaan pihak ketiga
Konfigurasi driver MySQL di DataGrip
Buat koneksi ke server MySQL

Tidak dapat terhubung ke MySQL di localhost?

biasanya berarti tidak ada server MySQL yang berjalan di sistem atau Anda menggunakan nama file soket Unix atau nomor port TCP/IP yang salah saat mencoba menyambung ke server . Anda juga harus memeriksa bahwa port TCP/IP yang Anda gunakan belum diblokir oleh firewall atau layanan pemblokiran port. . You should also check that the TCP/IP port you are using has not been blocked by a firewall or port blocking service.

Bagaimana cara memperbaiki kesalahan 2002 di MySQL?

Mungkin menginstal ulang lebih mudah. stackoverflow. com/a/31984482/763744. – Zernel. .
Setel ulang kata sandi dengan menghentikan MySQL dan memulainya dalam mode aman dengan melewatkan tabel --grant. – davejal. .
ketik ini di terminal Anda "sudo apt-get install mysql-server".
Mulai atau mulai ulang layanan mysql dan periksa. .
systemctl mulai mariadb. melayani

Bagaimana cara memperbaiki kesalahan koneksi MySQL?

Beberapa solusi permanen adalah. .
Tentukan apa yang salah dengan server DNS Anda dan perbaiki
Tentukan alamat IP daripada nama host di tabel hibah MySQL
Masukkan entri untuk nama mesin klien di /etc/hosts di Unix atau \windows\hosts di Windows
Mulai mysqld dengan variabel sistem skip_name_resolve diaktifkan

Postingan terbaru

LIHAT SEMUA