Cara mengizinkan koneksi jarak jauh ke mysql

Cara mengizinkan koneksi jarak jauh ke mysql

Jika Anda bekerja dengan database MySQL, maka Anda sudah mengetahui tantangan yang Anda hadapi dalam menjaga keamanan database Anda. Dari upaya peretasan database menggunakan suntikan SQL hingga serangan brute force, sulit untuk menjaga data Anda tetap aman, terutama jika Anda bekerja dengan database dari jarak jauh.

Ada cara untuk mengonfigurasi server SQL untuk memungkinkan koneksi jarak jauh, tetapi Anda harus berhati -hati, karena memungkinkan koneksi jarak jauh pada server MySQL dapat menjadikan database Anda target yang mudah untuk peretas. Jika Anda ingin mengizinkan koneksi jarak jauh yang aman ke database MySQL, inilah yang perlu Anda ketahui.

Daftar isi

    Panduan ini akan menuntun Anda melalui langkah -langkah untuk mengonfigurasi mySQL untuk memungkinkan koneksi jarak jauh, tetapi Anda harus memastikan Anda memiliki akses langsung atau jarak jauh ke server yang menampung server mysql Anda terlebih dahulu.

    Misalkan Anda tidak memiliki akses jarak jauh ke server Anda melalui SSH (misalnya). Dalam hal ini, Anda tidak akan dapat mengonfigurasi database MySQL Anda untuk mengizinkan koneksi jarak jauh secara langsung kecuali akun root MySQL Anda sudah memungkinkan koneksi jarak jauh. Jadi, Anda perlu membuat koneksi ini terlebih dahulu sebelum Anda dapat melanjutkan.

    Mengedit file konfigurasi mysql Anda

    Langkah pertama dalam mengkonfigurasi mySQL untuk memungkinkan koneksi jarak jauh adalah mengedit file konfigurasi mysql Anda. Pada tahap ini, panduan ini akan menganggap Anda telah terhubung ke server, PC, atau Mac yang menampung database MySQL Anda dari jarak jauh dan memiliki akses konsol.

    Atau, Anda dapat mengonfigurasi server MySQL lokal menggunakan terminal terbuka di Mac atau Linux atau editor teks di Windows.

    1. Untuk memulai, gunakan Editor Teks Konsol Pilihan Anda untuk mengedit file database MySQL Anda. Di Linux, ketik sudo nano/etc/mysql/mysql.conf.d/mysqld.CNF ke jendela terminal atau ssh untuk mengedit file ini menggunakan nano Editor (dengan asumsi database MySQL Anda ada di lokasi default).
    1. Jika Anda menjalankan Windows, buka File Explorer dan akses folder yang berisi instalasi MySQL Anda (misalnya. C:/Program Files/MySQL/MySQL Server 8.0). Buka -ku.ini File Menggunakan Editor Teks Default Anda (misalnya. Notepad) dengan mengklik dua kali entri. Jika tidak ada, buat file terlebih dahulu.
    1. Di Mac, buka jendela terminal dan ketik sudo nano/usr/local/etc/my.CNF. Ini adalah file konfigurasi default untuk mySQL jika Anda telah menginstal mysql menggunakan homebrew.

    Lokasi yang dirujuk di atas adalah lokasi default untuk file konfigurasi MySQL. Jika perintah ini tidak berfungsi, Anda harus mencari file yang relevan (-ku.CNF, mysqld.CNF, atau -ku.ini) secara manual untuk menemukan jalur file yang relevan.

    Mengatur rentang IP ikatan yang aman

    1. Setelah Anda membuka file konfigurasi MySQL untuk server Anda, gunakan tombol panah keyboard Anda untuk mencapai Bind-address bagian dari file. Rentang IP ini membatasi koneksi ke database Anda, yang biasanya diatur hanya untuk mengizinkan koneksi dari mesin atau server lokal menggunakan 127.0.0.1.
    1. Jika Anda ingin mengonfigurasi database MySQL Anda untuk memungkinkan koneksi dari perangkat menggunakan koneksi internet Anda saat ini, temukan alamat IP publik Anda terlebih dahulu, lalu ganti 127.0.0.1 dengan alamat IP itu. Atau, ganti dengan alamat IP untuk perangkat atau server yang ingin Anda izinkan.
    1. Dalam beberapa keadaan, Anda mungkin ingin mengizinkan semua Koneksi jarak jauh ke database MySQL. Ini membawa risiko ekstrem dan tidak boleh digunakan di server produksi. Namun, jika Anda ingin mengizinkan ini, ganti 127.0.0.1 dengan 0.0.0.0.
    1. Catat pelabuhan nilai di Pengaturan dasar bagian. Ini akan diperlukan di bagian selanjutnya. Jika tidak terlihat, nilai default akan digunakan, yang merupakan port 3306. Anda dapat menambahkan port Anda sendiri dengan mengetik port = xxxx di jalur baru, mengganti xxxx dengan nilai port yang sesuai.
    1. Setelah Anda mengkonfigurasi Bind-address Di file konfigurasi MySQL Anda, simpan file. Jika Anda berada di Linux, pilih Ctrl + o Dan Ctrl + x untuk melakukan ini. Di Mac, pilih Perintah + o Dan Perintah + x. Pengguna Windows dapat menyimpan dengan memilih Mengajukan > Menyimpan.
    1. Selanjutnya, pengguna Linux dan Mac dapat memulai kembali mySQL dengan mengetik mysql.Server berhenti && mysql.Server mulai atau mysql.restart server. Anda mungkin perlu meningkatkan perintah menggunakan sudo (misalnya. sudo mysql.restart server) dan gunakan jalur yang sesuai ke MySQL.file server (misalnya. /usr/local/bin/mysql.server).
    1. Jika perintah di atas tidak berfungsi, coba Layanan sudo mysql restart alih-alih.
    1. Untuk memulai ulang mysql di windows, buka jendela PowerShell baru dengan mengklik kanan menu start dan memilih Windows PowerShell (Admin). Di jendela PowerShell, ketik Net Stop MySQL80 diikuti oleh Mulai bersih mysql80, menggantikan mysql80 dengan nama layanan yang benar di PC Anda.

    Jika Anda tidak yakin dengan nama layanan yang benar di Windows, ketik Mulai bersih untuk menemukannya.Jika Anda tidak dapat memuat ulang konfigurasi Anda, restart server Anda dan muat ulang mySQL secara manual (jika perlu) sebagai gantinya.

    Mengkonfigurasi Firewall Anda

    Pada tahap ini, basis data MySQL Anda harus memungkinkan koneksi jarak jauh dari perangkat menggunakan alamat IP yang Anda atur sebagai Bind-address Nilai dalam file konfigurasi mySQL Anda (atau dari semua perangkat jika Anda menetapkan nilai ini ke 0.0.0.0 alih-alih). Namun, koneksi masih akan diblokir oleh Anda Perangkat atau Firewall Jaringan.

    Sebagian besar server dan PC menggunakan firewall untuk memblokir koneksi kecuali akses ke port tertentu diberikan. Langkah -langkah untuk mengonfigurasi ini akan bervariasi, tergantung pada apakah Anda menjalankan mysql di windows atau linux. Firewall Mac dinonaktifkan secara default, jadi Anda tidak perlu menyelesaikan langkah tambahan di sini.

    Konfigurasikan firewall Linux

    Banyak server Linux menggunakan ptable sebagai utilitas firewall default. Anda dapat mengonfigurasinya dengan mengikuti langkah -langkah di bawah ini.

    1. Buka Koneksi dan Jenis Terminal atau SSH sudo ptables -sput -p tcp -s x.X.X.X -dport yyyy -j terima. Mengganti X.X.X.X dengan alamat IP untuk perangkat yang ingin Anda izinkan koneksi MySQL dari, dan ganti Yyyy dengan nilai port yang cocok dari file konfigurasi mySQL Anda (misalnya. 3306).
    1. Ini akan mengkonfigurasi firewall sementara. Jika Anda menggunakan server Linux berbasis Debian atau Ubuntu, buat perubahan ini permanen dengan mengetik sudo netfilter-persistent save Dan Sudo Netfilter-persisten Reload ke terminal atau jendela SSH.

    Jika iptables bukan alat firewall default untuk distribusi linux Anda, Anda harus berkonsultasi dengan manual pengguna distribusi Anda untuk informasi lebih lanjut. Jika paket tertentu (seperti NetFilter-Persistent) tidak tersedia, gunakan alat repositori perangkat lunak distribusi Anda untuk menginstalnya (misalnya. sudo apt instal netfilter-persistent).

    Konfigurasikan firewall windows

    Jika Anda menggunakan PC atau server Windows untuk meng -host database Anda, Anda dapat mengonfigurasi firewall Anda menggunakan langkah -langkah ini:

    1. Klik kanan menu Mulai dan pilih Berlari.
    1. Dalam Berlari kotak, ketik wf.MSC dan pilih OKE.
    1. Dalam Windows Defender jendela, pilih Aturan masuk > Aturan baru.
    1. Dalam Wizard aturan baru masuk jendela, pilih Pelabuhan > Berikutnya.
    1. Di menu berikutnya, pilih TCP Dari opsi, ketik 3306 (Atau nilai port mana pun yang tercantum dalam file konfigurasi MySQL Anda), lalu pilih Berikutnya.
    1. Pada Tindakan menu, tinggalkan opsi default ke Izinkan koneksi diaktifkan, lalu pilih Berikutnya.
    1. Konfirmasikan bahwa Anda ingin aturan tersebut berlaku untuk semua jenis jaringan, lalu pilih Berikutnya.
    1. Ketikkan nama deskriptif untuk aturan (misalnya. Mysql) di port yang disediakan, lalu pilih Menyelesaikan untuk menambahkannya ke daftar aturan firewall Anda.

    Jika Anda kesulitan menghubungkan, ulangi langkah -langkah ini di atas, pastikan untuk membuat yang baru aturan keluar Dalam pengaturan firewall Anda menggunakan detail yang sama (port 3306, dll). Anda mungkin juga perlu mengonfigurasi router jaringan lokal Anda untuk membuka port yang diblokir yang diperlukan untuk memungkinkan koneksi masuk dan keluar ke database Anda. 

    Menghubungkan ke server jarak jauh menggunakan mySQL

    Setelah mengkonfigurasi database MySQL Anda untuk memungkinkan koneksi jarak jauh, Anda harus benar -benar membuat koneksi ke sana. Anda dapat melakukan ini dengan menggunakan mysql memerintah (mysql.exe di jendela) dari terminal atau jendela PowerShell.

    Jika Anda menjalankan Windows, Anda harus memastikan bahwa MySQL diinstal secara lokal sebelum Anda mulai. Pengguna Mac dapat menginstal mysql menggunakan homebrew dari terminal (Pembuatan bir menginstal mysql), sementara pengguna Linux dapat menggunakan repositori aplikasi lokal mereka (misalnya. sudo apt install mysql) untuk memasang paket yang diperlukan.

    Menghubungkan ke MySQL di Linux atau Mac

    1. Untuk terhubung ke server MySQL jarak jauh Anda di Mac atau Linux, buka jendela terminal baru dan ketik mysql -u nama pengguna -h x.X.X.X: xxxx -p. Mengganti X.X.X.X: xxxx dengan alamat IP server jarak jauh dan nomor port (misalnya. 100.200.100.200: 3306) Dan nama belakang dengan nama pengguna mysql Anda.
    1. Saat diminta, konfirmasi kata sandi Anda. Jika koneksi berhasil, pesan keberhasilan akan muncul di terminal.

    Menghubungkan ke MySQL di Windows

    1. Untuk terhubung ke server MySQL jarak jauh di Windows, buka jendela PowerShell baru dengan mengklik kanan menu Mulai dan memilih Windows PowerShell (Admin).
    1. Di jendela PowerShell yang baru, ketik CD “C: \ Program Files \ Mysql \ Mysql Workbench 8.0 \”Untuk memasukkan folder yang benar, mengganti direktori ini dengan direktori instalasi yang benar di PC Anda. Misalnya, jika versi MySQL Anda adalah 8.0.1, gunakan MySQL Workbench 8.0.1 Folder sebagai gantinya.
    1. Dari sana, ketik .\ mysql.exe -u nama pengguna -h x.X.X.X: xxxx -p. Mengganti X.X.X.X: xxxx dengan alamat IP server jarak jauh dan nomor port (misalnya. 100.200.100.200: 3306) Dan nama belakang dengan nama pengguna MySQL yang memungkinkan akses jarak jauh (seperti akar). Ikuti instruksi tambahan di layar.
    2. Berikan kata sandi Anda, saat diminta, untuk menyelesaikan proses masuk dan mengakses database MySQL Anda dari jarak jauh.

    Jika ini tidak berfungsi, sambungkan ke server atau PC hosting server mysql Anda menggunakan ssh (atau akses langsung) menggunakan langkah -langkah ini dan menggunakan -h Localhost argumen. Anda kemudian dapat membuat akun pengguna yang sesuai dengan mengikuti langkah -langkah di bawah ini.

    Mengizinkan akses pengguna jarak jauh ke database MySQL

    Pada titik ini, Anda harus dapat terhubung ke server MySQL Anda dari jarak jauh menggunakan akun pengguna root server Anda atau akun pengguna lain dengan hak istimewa yang ditinggikan. Karena tingkat akses ini tidak aman, Anda mungkin lebih suka membuat akun yang lebih terbatas untuk mengakses database MySQL Anda.

    Akun ini akan memiliki akses terbatas ke server MySQL Anda, memungkinkannya untuk berinteraksi dengan hanya database yang dipilih. Itu tidak akan dapat membuat perubahan yang lebih serius, seperti mengakses data basis data lain, membuat akun pengguna baru, dll.

    Anda harus memiliki kemampuan untuk masuk ke server MySQL Anda dari jarak jauh. Jika Anda tidak dapat menggunakan akun root Anda dari jarak jauh, Anda harus mengakses shell server Anda menggunakan mysql Perintah melalui koneksi SSH jarak jauh atau dengan secara langsung mengakses PC atau server hosting server.

    1. Di shell mysql jarak jauh Anda (menggunakan mysql alat), ketik Buat pengguna "nama pengguna"@"x.X.X.x "diidentifikasi oleh" Kata Sandi "; dan pilih Memasuki. Mengganti nama belakang dengan nama pengguna yang ingin Anda buat, X.X.X.X dengan alamat IP yang ingin Anda hubungkan, dan kata sandi dengan kata sandi yang cocok.
    1. Anda harus memberikan akun baru Anda dengan izin yang diperlukan. Untuk melakukan ini, ketik Berikan semua di Databasename.* Untuk nama pengguna@”x.X.X.X"; dan ganti Databasename, nama pengguna, Dan X.X.X.X dengan detail yang benar. Jika Anda mau, ganti Databasename dengan * untuk memberikannya akses ke semua database.

    Dengan akses yang diberikan, gunakan langkah -langkah di bagian di atas untuk terhubung ke server Anda dari jarak jauh menggunakan akun baru Anda (misalnya. mysql -u nama pengguna -h x.X.X.X: xxxx -p).

    Mengamankan data database Anda

    Apakah Anda bekerja dengan MySQL atau jenis database SQL lainnya, penting untuk menjaga koneksi Anda aman untuk menjaga keamanan data Anda. Cara yang baik untuk melakukan ini adalah dengan menghasilkan tombol SSH untuk akses jarak jauh ke server Anda, daripada mengandalkan kata sandi yang sudah ketinggalan zaman (dan mudah ditebak).

    Jika Anda khawatir tentang kehilangan data, Anda dapat dengan mudah mencadangkan database Anda secara online. Sebagian besar database dijalankan menggunakan server Linux-Anda dapat mengotomatiskan cadangan file Linux dengan mudah. Jika Anda menjalankan MySQL di Windows, Anda dapat mengatur sistem cadangan otomatis yang serupa untuk Windows, memungkinkan Anda untuk mengembalikan data Anda dalam keadaan darurat.