Akses ke server MySQL melalui VirtualBox


20

Saya mencoba untuk mendapatkan server MySQL (yang ada di dalam VM) untuk menanggapi klien (yang ada di mesin host). Semua metode kembali sama:

Host '10.0.2.2' is not allowed to connect to this MySQL server

Saya telah memastikan port forwardind yang tepat. Saya juga memastikan, bahwa dalam my.cnfsaya memiliki garis berikut:

skip-external-locking
bind-address = 0.0.0.0

Ini tidak berhasil bagi saya. Saya juga mencoba bermain sedikit sebagai berikut:

bind-address = 10.0.2.2

Tapi ini juga tidak berhasil bagi saya - server tidak bisa memulai.

Ada ide, di mana saya salah?

MEMPERBARUI. Saya tidak memeriksa hak istimewa root@%seperti pada Bagaimana cara mengubah hak istimewa untuk pengguna MySQL yang sudah dibuat?

TERPECAHKAN.


Akun pengguna apa yang Anda buat dalam MySQL?
Shane Madden

Akun saya adalah root:root. Saya ragu masalah ada di login, jika tidak pesan kesalahan akan menyatakan sesuatu lile Access denied for root@10.0.2.2atau sesuatu.
defance

@ShaneMadden Maaf. Kamu benar sekali. Masalahnya adalah untuk hak istimewa root@%. Salahku.
bertahan

Jawaban:


37

Akun root hanya untuk host lokal di sebagian besar instalasi default, apakah Anda yakin Anda mengizinkannya masuk dari sistem lain? Dari manual referensi MySQL :

itu berarti bahwa tidak ada baris di tabel pengguna dengan nilai Host yang cocok dengan host klien

Jadi, tidak ada %atau tidak ada 10.0.2.2di Hostkolom sama sekali. Periksa konfigurasi Anda saat ini:

select user,host from mysql.user where user='root';

Anda mungkin ingin membuat entri root baru dengan kata sandi yang sama seperti yang Anda miliki sekarang.

create user 'root'@'10.0.2.2' identified by 'yourpassword';
grant all privileges on *.* to 'root'@'10.0.2.2' with grant option;
flush privileges;

1
Ya. Terima kasih. Saya juga menyelesaikannya beberapa saat yang lalu seperti yang Anda nyatakan di sini. Itulah masalah saya.
defance

1
Jawaban Shane benar dan dapat dijalankan dalam satu perintah, membantu jika Anda menggunakan sesuatu seperti skrip Anonim / Gelandangan untuk mengotomatisasi:mysql -e "create user 'root'@'10.0.2.2' identified by 'yourpassword'; grant all privileges on *.* to 'root'@'10.0.2.2' with grant option; flush privileges;"
KayakinKoder
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.