Sekiranya anda bekerja dengan Pangkalan data MySQL , maka anda sudah mengetahui cabaran yang anda hadapi dalam menjaga keselamatan pangkalan data anda. Dari percubaan penggodaman pangkalan data menggunakan suntikan SQL hingga serangan kekerasan, sukar untuk menjaga keselamatan data anda, terutamanya jika anda bekerja dengan pangkalan data dari jauh.
Ada cara untuk mengkonfigurasi pelayan SQL untuk membolehkan sambungan jauh , tetapi anda harus berhati-hati, kerana membiarkan sambungan jarak jauh pada pelayan MySQL dapat menjadikan pangkalan data anda sebagai sasaran mudah bagi penggodam. Sekiranya anda ingin membenarkan sambungan jarak jauh yang selamat ke pangkalan data MySQL, inilah yang perlu anda ketahui.
Sebelum Anda Mula
Sebelum anda membuat sebarang perubahan pada pangkalan data MySQL anda, penting bagi anda sandarkan pangkalan data anda , terutamanya jika anda menggunakan pelayan pengeluaran (pelayan dalam penggunaan aktif). Segala perubahan yang anda buat pada pangkalan data anda, atau pelayan yang menghostingnya, boleh mengakibatkan kehilangan data yang serius jika ada yang tidak kena. Sekiranya ini berlaku, anda mungkin perlu berunding dengan pentadbir pelayan untuk mendapatkan sokongan lebih lanjut. Idea yang baik adalah untuk mencuba sebarang perubahan pada pelayan MySQL yang dikendalikan secara tempatan untuk memeriksa apakah perubahan anda berfungsi sebelum mencubanya dari jauh.
Mungkin juga jika anda membuat perubahan pada pelayan jauh, anda’Saya memerlukan cara yang selamat untuk berhubung dan membuat perubahan. SSH (Secure Shell) selalunya merupakan kaedah terbaik untuk melakukannya, kerana ia membolehkan anda menyambung ke pelayan jauh anda. Anda juga boleh menggunakan SSH untuk menyambung ke pelayan di rangkaian tempatan anda, seperti dihoskan pada Raspberry Pi .
Panduan ini akan memandu Anda melalui langkah-langkah untuk mengkonfigurasi MySQL untuk membolehkan sambungan jarak jauh, tetapi anda harus memastikan anda mempunyai akses langsung atau jauh ke pelayan yang mengehoskan pelayan MySQL anda terlebih dahulu.
Andaikan anda tidak mempunyai akses jauh ke pelayan anda melalui SSH (contohnya). Sekiranya demikian, anda tidak akan dapat mengkonfigurasi pangkalan data MySQL anda untuk membolehkan sambungan jauh terus kecuali akaun mySQL root anda sudah membenarkan sambungan jauh. Oleh itu, anda perlu membuat sambungan ini terlebih dahulu sebelum anda dapat meneruskannya.
Mengedit Fail Konfigurasi MySQL Anda
Langkah pertama dalam mengkonfigurasi MySQL untuk membolehkan jarak jauh sambungan adalah untuk mengedit fail konfigurasi MySQL anda. Pada tahap ini, panduan ini akan menganggap anda sudah tersambung ke pelayan, PC, atau Mac yang menghosting pangkalan data mySQL anda dari jauh dan mempunyai akses konsol.
Sebagai alternatif, anda dapat mengkonfigurasi pelayan MySQL tempatan menggunakan terminal terbuka di Mac atau Linux atau penyunting teks pada Windows.
Untuk memulakan, gunakan editor teks konsol pilihan anda untuk mengedit fail pangkalan data MySQL anda. Di Linux, ketik sudo nano/etc/mysql/mysql.conf.d/mysqld.cnf ke terminal atau tetingkap SSH untuk mengedit fail ini menggunakan penyunting nano (dengan andaian pangkalan data MySQL anda berada di lokasi lalai) . Sekiranya anda menjalankan Windows, buka File Explorer dan mengakses folder yang mengandungi pemasangan MySQL anda (mis. C:/Program Files/MySQL/MySQL Server 8.0 ). Buka fail my.ini menggunakan editor teks lalai anda (mis. Notepad) dengan mengklik dua kali entri. Sekiranya tidak ada, buat fail terlebih dahulu . Pada Mac, buka tetingkap terminal dan ketik sudo nano/usr/local/etc/my.cnf . Ini adalah fail konfigurasi lalai untuk MySQL jika anda memasang MySQL menggunakan homebrew .
Lokasi yang dirujuk di atas adalah lokasi lalai untuk konfigurasi MySQL fail. Sekiranya arahan ini tidak berfungsi, anda perlu mencari fail yang berkaitan ( my.cnf , mysqld.cnf , atau my.ini ) secara manual untuk mencari jalan fail yang berkaitan.
Menetapkan Julat IP Alamat Ikatan Selamat
Setelah anda membuka fail konfigurasi MySQL untuk pelayan anda, gunakan kekunci anak panah papan kekunci anda untuk mencapai bahagian alamat pengikat fail. Julat IP ini menghadkan sambungan ke pangkalan data anda, yang biasanya diset untuk membenarkan sambungan dari mesin atau pelayan tempatan menggunakan 127.0.0.1 . Sekiranya anda ingin mengkonfigurasi pangkalan data MySQL anda untuk membenarkan sambungan dari peranti yang menggunakan sambungan internet semasa anda, cari alamat IP awam anda terlebih dahulu, kemudian ganti 127.0.0.1 dengan alamat IP tersebut. Sebagai alternatif, gantikannya dengan alamat IP untuk peranti atau pelayan yang anda mahu membenarkan sambungannya. Dalam beberapa keadaan, anda mungkin membenarkan
Sekiranya anda tidak pasti dengan nama perkhidmatan yang betul pada Windows, ketik
Mengkonfigurasi Firewall Anda
Pada tahap ini, pangkalan data MySQL anda harus membenarkan sambungan jarak jauh dari peranti yang menggunakan alamat IP yang anda tetapkan sebagai nilai bind-address di MySQL anda fail konfigurasi (atau dari semua peranti jika anda menetapkan nilai ini ke 0.0.0.0 ). Walau bagaimanapun, sambungan masih akan disekat oleh peranti atau firewall rangkaian anda.
Sebilangan besar pelayan dan PC menggunakan firewall untuk menyekat sambungan kecuali akses ke port tertentu diberikan. Langkah-langkah untuk mengkonfigurasi ini akan berbeza-beza, bergantung pada apakah Anda menjalankan MySQL di Windows atau Linux. Firewall Mac dilumpuhkan secara lalai, jadi anda tidak perlu menyelesaikan langkah tambahan di sini.
Konfigurasi Firewall Linux
Banyak pelayan Linux menggunakan iptables sebagai utiliti firewall lalai. Anda boleh mengkonfigurasinya dengan mengikuti langkah-langkah di bawah.
Buka terminal atau sambungan SSH dan ketik sudo iptables-A INPUT-p tcp-s X.X.X.X –dport YYYY-j ACCEPT . Ganti XXXX dengan alamat IP untuk peranti yang ingin anda izinkan sambungan MySQL dari , dan ganti YYYY dengan nilai port yang sepadan dari konfigurasi MySQL anda fail (mis. 3306 ). Ini akan mengkonfigurasi firewall buat sementara waktu. Sekiranya anda menggunakan pelayan Linux berasaskan Debian atau Ubuntu, buat perubahan ini kekal dengan mengetik sudo netfilter-persistent save dan sudo netfilter-persistent reload ke terminal atau SSH tingkap.
Sekiranya iptables bukan alat firewall lalai untuk pengedaran Linux anda, anda perlu rujuk manual pengguna pengedaran anda untuk maklumat lebih lanjut. Sekiranya pakej tertentu (seperti netfilter-persistent ) tidak tersedia, gunakan alat repositori perisian pengedaran anda untuk memasangnya (mis. sudo apt pasang netfilter-gigih ).
Konfigurasikan Windows Firewall
Sekiranya anda menggunakan PC Windows atau pelayan untuk menghoskan pangkalan data anda, anda dapat mengkonfigurasi firewall anda menggunakan langkah-langkah berikut:
Kanan-klik menu Mula dan pilih Jalankan . Dalam kotak Jalankan , ketik wf.msc > dan pilih OK . Di tetingkap Windows Defender , pilih Peraturan Masuk > Peraturan Baru . Di tetingkap Wizard Peraturan Masuk Baru , pilih
Sekiranya anda menghadapi masalah untuk menyambung, ulangi langkah-langkah di atas, pastikan untuk membuat peraturan keluar baru dalam tetapan firewall anda menggunakan perincian yang sama (port 3306, dll). Anda mungkin juga perlu mengkonfigurasi penghala rangkaian tempatan anda untuk membuka port yang disekat yang diperlukan untuk membenarkan 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 harus benar-benar membuat sambungan ke sana. Anda boleh melakukannya dengan menggunakan perintah mysql ( mysql.exe pada Windows) dari terminal atau tetingkap PowerShell.
Sekiranya anda menjalankan Windows, anda perlu memastikan bahawa MySQL dipasang secara tempatan sebelum anda memulakannya. Pengguna Mac boleh memasang MySQL menggunakan homebrew dari terminal ( brew install mysql ), sementara pengguna Linux boleh menggunakan repositori aplikasi tempatan mereka (mis. sudo apt mysql ) untuk memasang pakej yang diperlukan.
Menyambung ke MySQL di Linux atau Mac
Untuk menyambung ke pelayan MySQL jauh anda di Mac atau Linux, buka tetingkap terminal baru dan ketik nama pengguna mysql-u-h XXXX: XXXX-p . Ganti X.X.X.X: XXXX dengan alamat IP pelayan jauh dan nombor port anda (mis. 100.200.100.200:3306 ) dan nama pengguna dengan nama pengguna MySQL anda. Apabila diminta, sahkan kata laluan anda. Sekiranya sambungan berjaya, mesej kejayaan akan muncul di terminal.
Menyambung ke MySQL pada Windows
Untuk menyambung ke pelayan MySQL jauh di Windows, buka tetingkap PowerShell baru dengan mengklik kanan menu Mula dan memilih Windows PowerShell (Pentadbir ) . Di tetingkap PowerShell baru, ketik 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. Sebagai contoh, jika versi MySQL anda adalah 8.0.1, gunakan folder MySQL Workbench 8.0.1 . Dari sana, taip . \ mysql.exe-u nama pengguna-h XXXX: XXXX-p . Ganti XXXX: XXXX dengan alamat IP pelayan jauh dan nombor port anda (mis. 100.200.100.200:3306 ) dan nama pengguna dengan nama pengguna MySQL yang membenarkan akses jauh (seperti root ). Ikuti arahan tambahan di skrin. Berikan 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 yang menghoskan pelayan MySQL anda menggunakan SSH (atau mengaksesnya secara langsung) menggunakan langkah-langkah ini dan menggunakan argumen -h localhost . Anda kemudian boleh membuat akaun pengguna yang sesuai dengan mengikuti langkah-langkah di bawah.
Membolehkan Akses Pengguna Jauh ke Pangkalan Data MySQL
Pada tahap ini, anda seharusnya dapat menyambung ke pelayan MySQL anda dari jauh menggunakan akaun pengguna root pelayan anda atau akaun pengguna lain dengan hak istimewa 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 pangkalan data yang terpilih sahaja. Ini tidak akan dapat membuat perubahan yang lebih serius, seperti mengakses data pangkalan data lain, membuat akaun pengguna baru, dll.
Anda harus memiliki kemampuan untuk masuk ke pelayan MySQL anda dari jauh. Sekiranya anda tidak dapat menggunakan akaun root anda dari jarak jauh, anda perlu mengakses shell pelayan anda menggunakan perintah mysql melalui sambungan SSH jauh atau dengan langsung mengakses PC atau pelayan yang menghoskan pelayan.
Dalam cangkang MySQL jauh anda (menggunakan alat mysql ), ketik BUAT PENGGUNA”nama pengguna”@”xxxx”DIKENALI OLEH”kata laluan”; dan pilih Enter . Ganti nama pengguna dengan nama pengguna yang ingin anda buat, x.x.x.x dengan alamat IP yang ingin anda sambungkan, dan kata laluan dengan kata laluan yang sesuai. Anda perlu memberikan akaun baru anda dengan izin yang diperlukan. Untuk melakukan ini, ketik GANTIKAN SEMUA PADA nama pangkalan data. * KE nama pengguna @”x.x.x.x”; dan ganti nama pangkalan data, nama pengguna, dan x.x.x.x dengan perincian yang betul. Sekiranya anda mahu, ganti nama pangkalan data dengan * untuk memberikannya akses ke semua pangkalan data.
Dengan akses yang diberikan, gunakan langkah-langkah pada bahagian di atas untuk menyambung ke pelayan anda dari jauh menggunakan akaun baru anda (mis. mysql-u nama pengguna-h XXXX: XXXX-p ).
Melindungi Pangkalan Data Anda Data
Sama ada anda bekerja dengan MySQL atau jenis pangkalan data SQL yang lain, penting untuk memastikan sambungan anda tetap selamat untuk menjaga keselamatan data anda. Cara yang baik untuk melakukannya adalah dengan jana kunci SSH untuk akses jauh ke pelayan anda, dan bukannya bergantung pada kata laluan yang sudah lapuk (dan mudah diteka).
Sekiranya anda bimbang tentang kehilangan data, anda boleh dengan mudah buat sandaran pangkalan data anda dalam talian. Sebilangan besar pangkalan data dijalankan menggunakan pelayan Linux — anda boleh mengautomasikan sandaran fail Linux dengan mudah . Sekiranya anda menjalankan MySQL di Windows, anda boleh menyediakan sistem sandaran automatik untuk Windows , yang membolehkan anda memulihkan data anda dalam keadaan darurat.