Saya telah menginstal MySQL Community Edition 5.5 pada mesin lokal saya dan saya ingin memperbolehkan koneksi jarak jauh sehingga saya dapat terhubung dari sumber eksternal.
Bagaimana saya bisa melakukan itu?
Saya telah menginstal MySQL Community Edition 5.5 pada mesin lokal saya dan saya ingin memperbolehkan koneksi jarak jauh sehingga saya dapat terhubung dari sumber eksternal.
Bagaimana saya bisa melakukan itu?
sudo mysql_secure_installation
. FYI.Jawaban:
Itu diizinkan secara default di MySQL.
Yang dinonaktifkan secara default adalah
root
akses jarak jauh . Jika Anda ingin mengaktifkannya, jalankan perintah SQL ini secara lokal:Dan kemudian temukan baris berikut dan beri komentar di
my.cnf
file Anda , yang biasanya hidup/etc/mysql/my.cnf
di sistem Unix / OSX. Dalam beberapa kasus lokasi file adalah /etc/mysql/mysql.conf.d/mysqld.cnf).Jika ini adalah sistem Windows, Anda dapat menemukannya di direktori instalasi MySQL, biasanya seperti
C:\Program Files\MySQL\MySQL Server 5.5\
dan nama filenyamy.ini
.Ubah baris
untuk
Dan restart server MySQL ( Unix / OSX , dan Windows ) agar perubahan diterapkan.
sumber
my.cnf
file dan tidak menemukanbind-address
arahan di dalamnya, perhatikan bahwa dalam kasus saya (MySQL versi 14.14 pada Ubuntu 16.04.2) lokasi untuk file itu/etc/mysql/mysql.conf.d/mysqld.cnf
Setelah melakukan semua hal di atas saya masih tidak bisa login sebagai
root
jarak jauh, tetapi Telnetting ke port3306
mengkonfirmasi bahwaMySQL
menerima koneksi.Saya mulai melihat pengguna di MySQL dan memperhatikan ada beberapa pengguna root dengan kata sandi yang berbeda.
Jadi
MySQL
saya mengatur semua kata sandi untuk root lagi dan akhirnya saya bisa login dari jarak jauhroot
.sumber
update user set authentication_string=password('YOUR_PASSWORD') where user='root';
Hanya catatan dari pengalaman saya, Anda dapat menemukan file konfigurasi di bawah jalur ini
/etc/mysql/mysql.conf.d/mysqld.cnf
.(Saya berjuang selama beberapa waktu untuk menemukan jalan ini)
sumber
sudo find /etc -iname 'mysql*.cnf'
Dalam kasus saya, saya mencoba untuk terhubung ke server mysql jarak jauh pada OS sen. Setelah melalui banyak solusi (memberikan semua hak istimewa, menghapus ikatan ip, mengaktifkan jaringan) masalah masih belum terpecahkan.
Ternyata, sambil melihat ke berbagai solusi, saya menemukan iptables, yang membuat saya menyadari port mysql 3306 tidak menerima koneksi.
Berikut ini adalah catatan kecil tentang bagaimana saya memeriksa dan menyelesaikan masalah ini.
Semoga ini membantu.
sumber
Silakan ikuti langkah-langkah yang disebutkan di bawah inorder untuk mengatur akses remote wildcard untuk Pengguna MySQL.
sumber
Jika proses server MySQL Anda hanya mendengarkan 127.0.0.1 atau :: 1 maka Anda tidak akan dapat terhubung dari jarak jauh. Jika Anda memiliki
bind-address
pengaturan di/etc/my.cnf
hal ini mungkin menjadi sumber masalah.Anda juga harus menambahkan hak istimewa untuk yang bukan
localhost
pengguna.sumber
127.0.0.1
?Jika Anda menginstal MySQL
brew
darinya sebenarnya hanya mendengarkan pada antarmuka lokal secara default. Untuk memperbaikinya Anda perlu mengedit/usr/local/etc/my.cnf
dan mengubahbind-address
dari127.0.0.1
menjadi*
.Kemudian jalankan
brew services restart mysql
.sumber
Semua proses untuk login jarak jauh. Login jauh tidak aktif secara default. Anda harus membukanya secara manual untuk semua ip..untuk memberikan akses semua ip
Ip spesifik
kemudian
Anda dapat memeriksa Host Pengguna & Kata Sandi Anda
Sekarang tugas Anda adalah mengubah ini
Anda dapat menemukannya di sini
jika Anda tidak menemukan ini di sana maka coba ini
berkomentar dalam hal ini
Kemudian mulai kembali Mysql
Sekarang nikmati login jarak jauh
sumber
Hanya FYI saya mencabut rambut saya dengan masalah ini selama berjam-jam .. akhirnya saya menghubungi penyedia hosting saya dan menemukan bahwa dalam kasus saya menggunakan server cloud yang di panel kontrol untuk 1and1 mereka memiliki firewall sekunder yang harus Anda kloning dan tambahkan port 3306. Setelah ditambahkan saya langsung masuk ..
sumber
Untuk siapa yang membutuhkannya, periksa port firewall 3306 juga terbuka, jika layanan firewall Anda berjalan.
sumber
Blog ini Cara mengatur server MySQL di Local Area Network akan berguna dalam menyiapkan
MySQL
dari awalsumber
Dan untuk orang-orang OS X di luar sana ketahuilah bahwa parameter bind-address biasanya diatur dalam launchd plist dan bukan pada file my.ini. Jadi dalam kasus saya, saya dihapus
<string>--bind-address=127.0.0.1</string>
dari/Library/LaunchDaemons/homebrew.mxcl.mariadb.plist
.sumber
~/Library/LaunchAgents
Jika
mysqld
memiliki alamat bind diatur ke loopback / alamat lokal (misalnya127.0.0.1
), server tidak akan dapat dijangkau dari host jarak jauh, karena antarmuka loopback tidak dapat dijangkau dari host jarak jauh mana pun.Setel opsi ini ke
0.0.0.0
(::
untuk IPv4 + 6) untuk menerima koneksi dari host mana pun, atau ke alamat lain yang dapat dijangkau secara eksternal jika Anda hanya ingin memperbolehkan koneksi pada satu antarmuka.Sumber
sumber
beberapa kali perlu menggunakan nama pc di windows
langkah pertama) masukkan file konfigurasi mysql:
(untuk membiarkan koneksi recibe melalui tcp / ip)
langkah kedua) membuat pengguna di mysql, pengguna tabel, dengan nama pc pada windows propierties, BUKAN ip
sumber
Mengaktifkan akses root jarak jauh bisa berbahaya. Akan lebih baik jika Anda mengatur akun pengguna dengan izin yang lebih ketat. Tiga langkah berikut harus melakukannya.
Pastikan baris yang dimulai dengan
bind-address ...
setidaknya dikomentari di file my.ini atau my.cnf Anda. Jika tidak ada, lanjutkan. Anda dapat menemukan file ini diC:\ProgramData\MySQL\MySQL Server 8.0
Windows.Setelah itu, periksa bahwa akun pengguna yang Anda buat koneksi tidak memiliki
localhost
dalam bidang Pencocokan Tuan Rumah. Meskipun tidak disarankan, Anda bisa memasukkan%
bidang itu untuk tujuan pengujian. Anda dapat melakukan ini dengan membuka koneksi lokal ke server dengan MySQL Workbench, kemudian pergi ke Server> Users and Privileges dari menu bar dan menemukan akun pengguna yang ingin Anda hubungkan.Bidang "Limit to Hosts Matching" adalah yang melarang Anda untuk terhubung secara non-lokal. Yaitu membatasi koneksi yang diterima ke pola alamat IP. Idealnya, Anda harus mengakses server MySQL dari alamat IP statis atau subnet, sehingga Anda dapat seketat mungkin.
sumber