Untuk mengekspos MySQL ke apa pun selain localhost, Anda harus memiliki baris berikut
Untuk mysql versi 5.6 dan di bawahnya
tidak dikomentari di /etc/mysql/my.cnf
dan ditetapkan ke alamat IP komputer Anda dan bukan loopback
Untuk mysql versi 5.7 ke atas
tidak dikomentari di /etc/mysql/mysql.conf.d/mysqld.cnf
dan ditetapkan ke alamat IP komputer Anda dan bukan loopback
#Replace xxx with your IP Address
bind-address = xxx.xxx.xxx.xxx
Atau tambahkan bind-address = 0.0.0.0
jika Anda tidak ingin menentukan IP
Kemudian berhenti dan restart MySQL dengan entri my.cnf baru. Setelah berjalan pergi ke terminal dan masukkan perintah berikut.
lsof -i -P | grep :3306
Itu akan kembali seperti ini dengan IP Anda yang sebenarnya di xxx's
mysqld 1046 mysql 10u IPv4 5203 0t0 TCP xxx.xxx.xxx.xxx:3306 (LISTEN)
Jika pernyataan di atas kembali dengan benar, Anda akan dapat menerima pengguna jarak jauh. Namun agar pengguna jarak jauh dapat terhubung dengan hak istimewa yang benar, Anda harus membuat pengguna tersebut di localhost dan '%' seperti di.
CREATE USER 'myuser'@'localhost' IDENTIFIED BY 'mypass';
CREATE USER 'myuser'@'%' IDENTIFIED BY 'mypass';
lalu,
GRANT ALL ON *.* TO 'myuser'@'localhost';
GRANT ALL ON *.* TO 'myuser'@'%';
dan akhirnya,
FLUSH PRIVILEGES;
EXIT;
Jika Anda tidak memiliki pengguna yang sama yang dibuat seperti di atas, saat Anda masuk secara lokal, Anda mungkin mewarisi hak istimewa localhost dasar dan memiliki masalah akses. Jika Anda ingin membatasi akses yang dimiliki pengguna saya maka Anda perlu membaca sintaks pernyataan GRANT DI SINI Jika Anda melewati semua ini dan masih memiliki masalah, posting beberapa keluaran kesalahan tambahan dan baris yang sesuai my.cnf.
CATATAN:Jika lsof tidak kembali atau tidak ditemukan, Anda dapat menginstalnya DI SINI berdasarkan distribusi Linux Anda. Anda tidak perlu lsof untuk membuat sesuatu bekerja, tetapi ini sangat berguna ketika segala sesuatunya tidak berjalan seperti yang diharapkan.
UPDATE:Jika bahkan setelah menambahkan/mengubah bind-address
di my.cnf
tidak berfungsi, lalu pergi dan ubah di tempat yang semula dinyatakan:
/etc/mysql/mariadb.conf.d/50-server.cnf