Cara Membenarkan Sambungan Jauh ke MySQL

Cara Membenarkan Sambungan Jauh ke MySQL

Sekiranya anda bekerja dengan pangkalan data MySQL, maka anda sudah mengetahui cabaran yang anda hadapi untuk menjaga pangkalan data anda selamat. Dari percubaan penggodaman pangkalan data menggunakan suntikan SQL untuk serangan kekerasan, sukar untuk memastikan data anda selamat, terutama jika anda bekerja dengan pangkalan data dari jauh.

Ada cara untuk mengkonfigurasi pelayan SQL untuk membolehkan sambungan jauh, tetapi anda perlu berhati -hati, kerana membenarkan sambungan jauh pada pelayan MySQL dapat menjadikan pangkalan data anda menjadi sasaran mudah untuk penggodam. Sekiranya anda ingin membenarkan sambungan jauh, jauh ke pangkalan data MySQL, inilah yang perlu anda ketahui.

Isi kandungan

    Panduan ini akan membawa anda melalui langkah -langkah untuk mengkonfigurasi MySQL untuk membolehkan sambungan jauh, tetapi anda perlu memastikan anda mempunyai akses langsung atau jauh ke pelayan hosting pelayan MySQL anda terlebih dahulu.

    Katakan anda tidak mempunyai akses jauh ke pelayan anda melalui SSH (contohnya). Dalam hal ini, anda tidak akan dapat mengkonfigurasi pangkalan data MySQL anda untuk membolehkan sambungan jauh secara langsung melainkan jika akaun mysql root anda sudah membolehkan sambungan jauh. Oleh itu, anda perlu membuat hubungan ini terlebih dahulu sebelum anda dapat meneruskan.

    Mengedit fail konfigurasi MySQL anda

    Langkah pertama dalam mengkonfigurasi MySQL untuk membolehkan sambungan jauh adalah untuk mengedit fail konfigurasi MySQL anda. Pada peringkat ini, panduan ini akan mengandaikan bahawa anda telah disambungkan ke pelayan, PC, atau Mac yang menganjurkan pangkalan data MySQL anda dari jauh dan mempunyai akses konsol.

    Sebagai alternatif, anda boleh mengkonfigurasi pelayan MySQL tempatan menggunakan terminal terbuka pada Mac atau Linux atau editor teks pada Windows.

    1. Untuk memulakan, gunakan editor teks konsol pilihan anda untuk mengedit fail pangkalan data MySQL anda. Pada Linux, taipkan sudo nano/etc/mysql/mysql.Conf.D/mysqld.cnf ke dalam tetingkap terminal atau SSH untuk mengedit fail ini menggunakan Nano Editor (dengan mengandaikan pangkalan data MySQL anda berada di lokasi lalai).
    1. Sekiranya anda menjalankan Windows, buka Fail Explorer dan akses folder yang mengandungi pemasangan MySQL anda (misalnya. C:/Fail Program/MySQL/MySQL Server 8.0). Buka saya.Ini fail menggunakan editor teks lalai anda (misalnya. Notepad) dengan mengklik dua kali entri. Sekiranya tidak ada, buat fail terlebih dahulu.
    1. Pada Mac, buka tetingkap terminal dan taipkan sudo nano/usr/local/etc/my.cnf. Ini adalah fail konfigurasi lalai untuk mysql jika anda telah memasang mysql menggunakan homebrew.

    Lokasi yang dirujuk di atas adalah lokasi lalai untuk fail konfigurasi MySQL. Sekiranya arahan ini tidak berfungsi, anda perlu mencari fail yang berkaitan (saya.cnf, mysqld.cnf, atau saya.Ini) secara manual untuk mencari laluan fail yang berkaitan.

    Menetapkan julat IP alamat yang selamat

    1. Sebaik sahaja anda membuka fail konfigurasi MySQL untuk pelayan anda, gunakan kekunci anak panah papan kekunci anda untuk mencapai Pengikat-Address bahagian fail. Julat IP ini mengehadkan sambungan ke pangkalan data anda, yang biasanya ditetapkan untuk hanya membenarkan sambungan dari mesin atau pelayan tempatan menggunakan 127.0.0.1.
    1. Sekiranya anda ingin mengkonfigurasi pangkalan data MySQL anda untuk membolehkan sambungan dari peranti menggunakan sambungan internet semasa anda, cari alamat IP awam anda terlebih dahulu, kemudian ganti 127.0.0.1 dengan alamat IP itu. Sebagai alternatif, ganti dengan alamat IP untuk peranti atau pelayan yang anda ingin membenarkan sambungan dari.
    1. Dalam beberapa keadaan, anda mungkin ingin membenarkan semua Sambungan Jauh ke Pangkalan Data MySQL. Ini membawa Risiko yang melampau dan tidak boleh digunakan pada pelayan pengeluaran. Sekiranya anda mahu membenarkan ini, ganti 127.0.0.1 dengan 0.0.0.0.
    1. Catatlah pelabuhan nilai dalam Tetapan asas seksyen. Ini diperlukan di bahagian seterusnya. Sekiranya tidak dapat dilihat, nilai lalai akan digunakan, iaitu pelabuhan 3306. Anda boleh menambah port anda sendiri dengan menaip port = xxxx di barisan baru, menggantikannya xxxx dengan nilai port yang sesuai.
    1. Setelah anda mengkonfigurasi Pengikat-Address Dalam fail konfigurasi MySQL anda, simpan fail. Sekiranya anda berada di Linux, pilih Ctrl + o dan Ctrl + x untuk membuat ini. Pada Mac, pilih Perintah + o dan Perintah + x. Pengguna Windows boleh menyimpan dengan memilih Fail > Simpan.
    1. Seterusnya, pengguna Linux dan Mac boleh memulakan semula MySQL dengan menaip mysql.Server Stop && mysql.permulaan pelayan atau mysql.memulakan semula pelayan. Anda mungkin perlu menaikkan arahan menggunakan sudo (misalnya. sudo mysql.memulakan semula pelayan) dan gunakan jalan yang sesuai untuk mysql.fail pelayan (misalnya. /usr/tempatan/bin/mysql.pelayan).
    1. Sekiranya arahan di atas tidak berfungsi, cuba perkhidmatan sudo mysql dimulakan semula sebaliknya.
    1. Untuk memulakan semula MySQL di Windows, buka tetingkap PowerShell baru dengan mengklik kanan menu permulaan dan memilih Windows PowerShell (admin). Di tetingkap PowerShell, taipkan Net Stop MySQL80 diikuti oleh Net Start MySQL80, menggantikan MySQL80 dengan nama perkhidmatan yang betul di PC anda.

    Sekiranya anda tidak pasti nama perkhidmatan yang betul pada Windows, taipkan permulaan bersih untuk mencarinya.Sekiranya anda tidak dapat memuatkan semula konfigurasi anda, mulakan semula pelayan anda dan muat semula mysql secara manual (jika perlu).

    Mengkonfigurasi firewall anda

    Pada peringkat ini, pangkalan data MySQL anda harus membenarkan sambungan jauh dari peranti menggunakan alamat IP yang anda tetapkan sebagai Pengikat-Address nilai dalam fail konfigurasi MySQL anda (atau dari semua peranti jika anda menetapkan nilai ini ke 0.0.0.0 sebaliknya). Walau bagaimanapun, sambungan masih akan disekat oleh anda Firewall peranti atau rangkaian.

    Kebanyakan pelayan dan PC menggunakan firewall untuk menyekat sambungan kecuali akses ke port tertentu diberikan. Langkah -langkah untuk mengkonfigurasi ini akan berbeza -beza, bergantung kepada sama ada anda menjalankan MySQL pada Windows atau Linux. Firewall Mac dilumpuhkan secara lalai, jadi anda tidak perlu melengkapkan langkah tambahan di sini.

    Konfigurasikan firewall linux

    Banyak pelayan Linux menggunakan IPTABLES Sebagai utiliti firewall lalai. Anda boleh mengkonfigurasinya dengan mengikuti langkah -langkah di bawah.

    1. Buka sambungan terminal atau ssh dan jenis sudo iptables -a input -p tcp -s x.X.X.X -dport yyyy -j Terima. Menggantikan X.X.X.X Dengan alamat IP untuk peranti anda ingin membenarkan sambungan MySQL dari, dan ganti Yyyy dengan nilai port yang sepadan dari fail konfigurasi MySQL anda (misalnya. 3306).
    1. Ini akan mengkonfigurasi firewall buat sementara waktu. Sekiranya anda menggunakan pelayan Linux berasaskan Debian atau Ubuntu, buat perubahan ini kekal dengan menaip SADO Netfilter-Prersistent Save dan Sudo Netfilter-Prersistent Reload ke dalam terminal atau tetingkap SSH.

    Sekiranya iptables bukan alat firewall lalai untuk pengedaran Linux anda, anda perlu berunding dengan manual pengguna pengedaran anda untuk maklumat lanjut. Sekiranya pakej tertentu (seperti netfilter-prersistent) tidak tersedia, gunakan alat repositori perisian pengedaran anda untuk memasangnya (misalnya. sudo apt pasang netfilter-prersistent).

    Konfigurasikan firewall Windows

    Jika anda menggunakan PC Windows atau pelayan untuk menjadi tuan rumah pangkalan data anda, anda boleh mengkonfigurasi firewall anda menggunakan langkah -langkah ini:

    1. Klik kanan menu Mula dan pilih Jalankan.
    1. Di dalam Jalankan kotak, jenis wf.MSC dan pilih okey.
    1. Di dalam Windows Defender tetingkap, pilih Peraturan masuk > Peraturan baru.
    1. Di dalam Wizard Peraturan Masuk Baru tetingkap, pilih Pelabuhan > Seterusnya.
    1. Di menu seterusnya, pilih TCP dari pilihan, taipkan 3306 (atau mana -mana nilai port disenaraikan dalam fail konfigurasi MySQL anda), kemudian pilih Seterusnya.
    1. Dekat Tindakan menu, tinggalkan pilihan lalai ke Benarkan sambungan diaktifkan, kemudian pilih Seterusnya.
    1. Sahkan bahawa anda mahu peraturan itu memohon kepada semua jenis rangkaian, kemudian pilih Seterusnya.
    1. Taipkan nama deskriptif untuk peraturan (misalnya. Mysql) di pelabuhan yang disediakan, kemudian pilih Selesai untuk menambahkannya ke senarai peraturan firewall anda.

    Sekiranya anda menghadapi masalah menyambung, ulangi langkah -langkah ini di atas, pastikan untuk membuat yang baru Peraturan keluar Dalam tetapan firewall anda menggunakan butiran yang sama (port 3306, dll). Anda juga mungkin perlu mengkonfigurasi router rangkaian tempatan anda untuk membuka port yang disekat untuk membolehkan sambungan masuk dan keluar ke pangkalan data anda. 

    Menyambung ke pelayan jauh menggunakan mysql

    Setelah mengkonfigurasi pangkalan data MySQL anda untuk membolehkan sambungan jauh, anda perlu benar -benar membuat sambungan kepadanya. Anda boleh melakukan ini menggunakan mysql perintah (mysql.exe di tingkap) dari tetingkap terminal atau PowerShell.

    Sekiranya anda menjalankan Windows, anda perlu memastikan bahawa MySQL dipasang secara tempatan sebelum anda memulakan. Pengguna Mac boleh memasang MySQL menggunakan homebrew dari terminal (Brew Pasang MySQL), sementara pengguna Linux boleh menggunakan repositori aplikasi tempatan mereka (misalnya. sudo apt memasang mysql) untuk memasang pakej yang diperlukan.

    Menyambung ke mysql pada linux atau mac

    1. Untuk menyambung ke pelayan MySQL jauh anda pada Mac atau Linux, buka tetingkap dan taip terminal baru Mysql -u Nama Pengguna -H x.X.X.X: xxxx -p. Menggantikan X.X.X.X: xxxx dengan alamat IP pelayan jauh dan nombor port anda (misalnya. 100.200.100.200: 3306) dan nama pengguna dengan nama pengguna mysql anda.
    1. Apabila diminta, sahkan kata laluan anda. Sekiranya sambungan berjaya, mesej kejayaan akan muncul di terminal.

    Menyambung ke MySQL pada Windows

    1. Untuk menyambung ke pelayan MySQL jauh pada Windows, buka tetingkap PowerShell baru dengan mengklik kanan menu permulaan dan memilih Windows PowerShell (admin).
    1. Di tetingkap PowerShell baru, taipkan CD "C: \ Program Files \ MySQL \ MySQL Workbench 8.0 \"Untuk memasukkan folder yang betul, menggantikan direktori ini dengan direktori pemasangan yang betul pada PC anda. Contohnya, jika versi MySQL anda adalah 8.0.1, gunakan MySQL Workbench 8.0.1 Folder sebaliknya.
    1. Dari sana, taipkan .\ mysql.exe -u nama pengguna -h x.X.X.X: xxxx -p. Menggantikan X.X.X.X: xxxx dengan alamat IP pelayan jauh dan nombor port anda (misalnya. 100.200.100.200: 3306) dan nama pengguna dengan nama pengguna MySQL yang membolehkan akses jauh (seperti akar). Ikuti sebarang arahan tambahan di skrin.
    2. Sediakan kata laluan anda, apabila diminta, untuk menyelesaikan proses log masuk dan mengakses pangkalan data MySQL anda dari jauh.

    Sekiranya ini tidak berfungsi, sambungkan ke pelayan atau PC hosting pelayan MySQL anda menggunakan SSH (atau mengaksesnya secara langsung) menggunakan langkah -langkah ini dan menggunakan -H localhost argumen. Anda kemudian boleh membuat akaun pengguna yang sesuai dengan mengikuti langkah -langkah di bawah.

    Membenarkan akses pengguna jauh ke pangkalan data MySQL

    Pada ketika ini, anda sepatutnya dapat menyambung ke pelayan MySQL anda dari jauh menggunakan akaun pengguna root pelayan anda atau akaun pengguna lain dengan keistimewaan yang tinggi. Oleh kerana tahap akses ini tidak selamat, anda mungkin lebih suka membuat akaun yang lebih terhad untuk mengakses pangkalan data MySQL anda.

    Akaun ini akan mempunyai akses terhad ke pelayan MySQL anda, yang membolehkannya berinteraksi dengan hanya pangkalan data terpilih. Ia tidak akan dapat membuat perubahan yang lebih serius, seperti mengakses data pangkalan data lain, mewujudkan akaun pengguna baru, dll.

    Anda perlu mempunyai keupayaan untuk masuk ke pelayan MySQL anda dari jauh. Sekiranya anda tidak dapat menggunakan akaun root anda dari jauh, anda perlu mengakses shell pelayan anda menggunakan mysql Perintah melalui sambungan SSH jauh atau secara langsung mengakses PC atau pelayan yang menganjurkan pelayan.

    1. Di shell mysql jauh anda (menggunakan mysql alat), taipkan Buat pengguna "nama pengguna"@"x.x.x.x "dikenal pasti oleh" kata laluan "; dan pilih Masukkan. Menggantikan nama pengguna dengan nama pengguna yang anda ingin buat, x.x.x.x dengan alamat IP yang anda ingin sambungkan, dan kata laluan dengan kata laluan yang sesuai.
    1. Anda perlu memberikan akaun baru anda dengan kebenaran yang diperlukan. Untuk melakukan ini, taipkan Geran semua di databaseName.* Ke nama pengguna@"x.x.x.x "; dan ganti DatabaseName, nama pengguna, dan x.x.x.x dengan perincian yang betul. Sekiranya anda mahu, ganti DatabaseName dengan * Untuk memberikannya akses kepada semua pangkalan data.

    Dengan akses yang diberikan, gunakan langkah -langkah di bahagian di atas untuk menyambung ke pelayan anda dari jauh menggunakan akaun baru anda (misalnya. Mysql -u Nama Pengguna -H x.X.X.X: xxxx -p).

    Mengamankan data pangkalan data anda

    Sama ada anda bekerja dengan MySQL atau jenis pangkalan data SQL yang lain, penting untuk memastikan sambungan anda selamat untuk mengekalkan keselamatan data anda. Cara yang baik untuk melakukan ini adalah untuk menjana kekunci SSH untuk akses jauh ke pelayan anda, dan bukannya bergantung pada kata laluan yang sudah lapuk (dan mudah ditebak).

    Sekiranya anda bimbang tentang kehilangan data, anda boleh membuat sandaran pangkalan data anda secara dalam talian. Kebanyakan pangkalan data dijalankan menggunakan pelayan linux-anda boleh mengautomasikan sandaran fail linux dengan mudah. Sekiranya anda menjalankan MySQL pada Windows, anda boleh menyediakan sistem sandaran automatik yang serupa untuk Windows, membolehkan anda memulihkan data anda dalam keadaan kecemasan.