Rumah > pangkalan data > tutorial mysql > Bagaimana untuk Menyambung ke Instance MySQL Dockerized dari Mesin Hos?

Bagaimana untuk Menyambung ke Instance MySQL Dockerized dari Mesin Hos?

Barbara Streisand
Lepaskan: 2024-11-29 08:39:11
asal
379 orang telah melayarinya

How to Connect to a Dockerized MySQL Instance from the Host Machine?

Menyambung ke MySQL dalam Bekas Docker daripada Hos

Penerangan Masalah:

Apabila cuba menyambung ke pangkalan data MySQL yang berjalan dalam bekas Docker dari mesin hos, mesej ralat ditemui: "Tidak boleh sambung ke pelayan MySQL tempatan melalui soket '/var/run/mysqld/mysqld.sock'".

Fail Docker:

Fail Docker berikut digunakan untuk mencipta MySQL bekas:

FROM ubuntu:14.04.3
RUN apt-get update && apt-get install -y mysql-server
RUN grep -v bind-address /etc/mysql/my.cnf > temp.txt && mv temp.txt /etc/mysql/my.cnf
EXPOSE 3306
CMD /etc/init.d/mysql start && tail -F /var/log/mysql.log
Salin selepas log masuk

Gagal Percubaan:

Walaupun berjaya memulakan tika MySQL dalam bekas, menyambung kepadanya daripada hos dengan mysql -P 12345 -uroot mengakibatkan ralat soket.

Penyelesaian :

Untuk menyambung ke pangkalan data MySQL yang dijalankan dalam bekas Docker dari mesin hos, langkah berikut adalah perlu:

  1. Tentukan alamat hos sebagai 'localhost'.
  2. Nyatakan port yang sedang didengari instance MySQL Docker (3306 secara lalai).
  3. Tetapkan protokol kepada 'tcp' kerana contoh MySQL Docker tidak boleh diakses melalui Unix soket.

Arahan untuk Sambungan Hos:

mysql -h localhost -P 3306 --protocol=tcp -u root
Salin selepas log masuk

Menukar Port:

Jika berbeza port digunakan untuk mendedahkan contoh MySQL dalam bekas Docker (cth., 12345), ia harus dinyatakan dalam arahan sambungan juga:

mysql -h localhost -P 12345 --protocol=tcp -u root
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk Menyambung ke Instance MySQL Dockerized dari Mesin Hos?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan