Saya memasang Mesin VirtualBox baru dengan Vagrant, dan di dalam VM itu saya menginstal Server Mysql. Bagaimana saya bisa terhubung ke server di luar vm? Saya sudah meneruskan port 3306 dari Vagrantfile, tetapi ketika saya mencoba untuk menyambung ke server mysql, itu merespons dengan kesalahan: 'membaca paket komunikasi awal'
ERROR 2013 (HY000): Lost connection to MySQL server at 'reading initial communication packet', system error: 0
mysql
virtualbox
vagrant
rizidoro
sumber
sumber
Jawaban:
Pastikan MySQL mengikat 0.0.0.0 dan bukan 127.0.0.1 atau itu tidak akan dapat diakses dari luar mesin
Anda dapat memastikan ini dengan mengedit file my.conf Anda dan mencari
bind-address
item - Anda ingin terlihat seperti itubind-address = 0.0.0.0
. Kemudian simpan ini dan mulai ulang mysql:Jika Anda melakukan ini di server produksi, Anda ingin mengetahui implikasi keamanan, yang dibahas di sini: /server/257513/how-bad-is-setting-mysqls-bind-address-to -0-0-0-0
sumber
sed -i 's/symbolic-links=0/symbolic-links=0\nbind-address=0.0.0.0/g' /etc/my.cnf
bind-address
barisHost '10.0.2.2' is not allowed to connect to this MySQL server
. Tetapi diselesaikan dengan serverfault.com/a/486716/147813mysql -e "create user 'root'@'10.0.2.2' identified by 'vagrant'; grant all privileges on *.* to 'root'@'10.0.2.2' with grant option; flush privileges;"
Masuk ke kotak Anda dengan
ssh [email protected] -p 2222
(kata sandi gelandangan)Kemudian:
sudo nano /etc/mysql/my.cnf
dan komentari baris berikut dengan #simpan & keluar
kemudian:
sudo service mysql restart
Kemudian Anda dapat terhubung melalui SSH ke server MySQL Anda.
sumber
GRANT ALL PRIVILEGES ON *.* TO 'myuser'@'%' WITH GRANT OPTION;
# skip-external-locking
menyelesaikannya!Saya menemukan masalah ini baru-baru ini. Saya menggunakan PuPHPet untuk membuat konfigurasi.
Untuk terhubung ke MySQL melalui SSH, kata sandi "gelandangan" tidak berfungsi untuk saya, sebagai gantinya saya harus mengautentikasi melalui file kunci SSH.
Untuk terhubung dengan MySQL Workbench
Metode koneksi
TCP / IP standar melalui SSH
SSH
MySQL
Uji koneksi.
sumber
Bagi siapa pun yang mencoba melakukan ini menggunakan meja kerja mysql atau sekuel pro, ini adalah inputnya:
sumber: https://coderwall.com/p/yzwqvg
sumber
vagrant ssh-config
perintah.Nah, karena tidak satu pun dari balasan yang diberikan membantu saya, saya harus melihat lebih banyak, dan menemukan solusi dalam artikel ini .
Dan jawabannya secara singkat adalah sebagai berikut:
Menghubungkan ke MySQL menggunakan MySQL Workbench
Dengan menggunakan pendekatan yang diberikan, saya dapat terhubung ke database mysql di gelandangan dari mesin Ubuntu host menggunakan MySQL Workbench dan juga menggunakan Valentina Studio.
sumber
$HOME/project/.vagrant/machines/default/virtualbox/private_key
di Ubuntu 14.04vagrant ssh-config
perintah.Berikut adalah langkah-langkah yang berhasil untuk saya setelah masuk ke kotak:
Temukan file konfigurasi MySQL:
Di Ubuntu 16, jalurnya biasanya
/etc/mysql/mysql.conf.d/mysqld.cnf
Ubah file konfigurasi untuk bind-address:
Jika ada, ubah nilainya sebagai berikut. Jika tidak ada, tambahkan di mana saja di bagian [mysqld].
Simpan perubahan Anda ke file konfigurasi dan mulai ulang layanan MySQL.
Buat / Berikan akses ke pengguna database:
Hubungkan ke database MySQL sebagai pengguna root dan jalankan perintah SQL berikut:
sumber
Ini berhasil untuk saya: Hubungkan ke MySQL di Vagrant
sumber