MySQL adalah sistem database relasional open source yang bekerja pada banyak Sistem Operasi termasuk Windows, Linux, MacOS dan FreeBSD. Ini mungkin RDBMS OpenSource yang paling populer dan komponen utama dari LAMP dan LEMP Stacks. Ada banyak aplikasi yang bergantung pada MySQL seperti Wordpress, Joomla, TYPO3, phpBB dan masih banyak lagi Show
Dalam tutorial ini, saya akan menunjukkan kepada Anda langkah demi langkah untuk mengonfigurasi MySQL dengan aman untuk koneksi jarak jauh. Saat Anda perlu mengakses MySQL dari jarak jauh, Anda harus menggunakan VPN karena MySQL tidak mengenkripsi data yang ditransfer atau Anda dapat mengonfigurasi MySQL untuk menggunakan SSL, seperti yang akan saya tunjukkan dalam tutorial ini. Dalam konfigurasi ini, hanya pengguna dengan file sertifikat SSL yang benar yang diizinkan untuk terhubung ke server MySQL, dan lalu lintas dienkripsi. Kami akan menginstal MySQL versi terbaru, dan kemudian mengkonfigurasi SSL untuk koneksi jarak jauh. Untuk sistem dasarnya, saya akan menggunakan server CentOS 7 Apa yang akan kita lakukan
Prasyarat
Langkah 1 - Instal MySQLDalam tutorial ini, kita akan menggunakan MySQL 5. 7, versi terbaru saat ini. Itu diinstal dari repositori MySQL, jadi kita harus menambahkan repositori CentOS baru ke sistem terlebih dahulu Tambahkan repositori baru untuk MySQL dengan perintah yum di bawah ini yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm Anda akan diminta untuk menginstal paket baru, ketik 'y' dan tekan 'Enter' untuk konfirmasi Sekarang Anda dapat menginstal MySQL versi terbaru 5. 7 ke server seperti ini yum -y install mysql-community-server_ Setelah instalasi selesai, mulai layanan MySQL dan aktifkan agar berjalan secara otomatis saat boot dengan perintah systemctl systemctl start mysqld Pastikan MySQL berjalan dengan memeriksa port yang digunakan oleh MySQL (3306). Periksa dengan perintah netstat di bawah netstat -plntu MySQL telah diinstal pada CentOS 7 dari repositori MySQL Langkah 2 - Konfigurasi Kata Sandi Root MySQLSecara default, MySQL5. 7 menghasilkan kata sandi root default untuk Anda saat memulai layanan pertama kali. Kata sandi disimpan dalam file log MySQL '/var/log/mysqld. catatan' Untuk melihat password root MySQL default, Anda dapat menggunakan perintah grep di bawah ini grep 'temporary' /var/log/mysqld.log_ Anda akan melihat hasil mirip dengan yang di bawah ini, kata sandi default saya adalah 'wxtX8Te&Uh1K' A temporary password is generated for [email protected]: wxtX8Te&Uh1K Sambungkan ke shell MySQL dengan kata sandi default dan ganti kata sandi dengan kata sandi Anda sendiri mysql -u root -p_ Sekarang ganti kata sandi default dengan kata sandi Anda sendiri. Dalam tutorial ini, saya akan menggunakan '[email protected]' sebagai kata sandi root MySQL yang baru. Jalankan kueri MySQL di bawah ini ALTER USER 'root'@'localhost' IDENTIFIED BY '[email protected]'; Sekarang Anda dapat terhubung kembali dengan kata sandi baru '[email protected]' mysql -u root -p_ Langkah 3 - Hasilkan File Sertifikat Baru yang Ditandatangani SendiriSecara default, MySQL5. 7 memiliki file sertifikat SSL sendiri di direktori '/var/lib/mysql'. Namun dalam tutorial ini, saya akan menunjukkan cara membuat file Sertifikat SSL Anda sendiri dengan OpenSSL, lalu mengonfigurasinya dengan MySQL Pada langkah ini, kami akan membuat file sertifikat baru yang ditandatangani sendiri. Kami membutuhkan 3 sertifikat, Sertifikat CA, Sertifikat dan Kunci Server, Sertifikat dan Kunci Klien. Kami akan membuatnya dengan OpenSSL Buat direktori baru untuk file sertifikat SSL '/etc/certs/' dan buka direktori tersebut mkdir -p /etc/certs_ Hasilkan sertifikat CA baru ca. pem yum -y install mysql-community-server_0 Selanjutnya, kita harus membuat sertifikat sisi server. Buat sertifikat server baru server-cert. pem dan kunci server. file pem. Hasilkan file sertifikat baru, hapus frasa sandi dan tandatangani dengan sertifikat CA yum -y install mysql-community-server_1 Sekarang buat file sertifikat untuk klien. Server MySQL hanya akan menerima koneksi jarak jauh dari klien yang memiliki file sertifikat ini. Hasilkan file sertifikat klien baru, hapus frasa sandi dan tandatangani menggunakan sertifikat CA yum -y install mysql-community-server_2 Catatan Info sertifikat CA harus berbeda dari info klien dan server Semua sertifikat yang kami perlukan untuk penyiapan ini telah dibuat. Sekarang kita dapat memverifikasi file sertifikat dengan perintah di bawah ini yum -y install mysql-community-server_3 Pastikan tidak ada error, hasilnya seperti di bawah ini Semua file Sertifikat telah diverifikasi. Ubah pemilik direktori sertifikat menjadi pengguna 'mysql' dan ubah izin semua file kunci yum -y install mysql-community-server_4 Langkah 4 - Aktifkan SSL untuk MySQLPada langkah ini, kami akan mengaktifkan SSL untuk MySQL. Sebelum kita mulai mengonfigurasi dan mengaktifkan SSL di MySQL, kita perlu mencadangkan file sertifikat default ke direktori cadangan baru Buat direktori cadangan baru 'mysql-certs' untuk semua sertifikat yum -y install mysql-community-server_5 Buka direktori '/var/lib/mysql' dan pindahkan semua sertifikat default ke direktori cadangan yum -y install mysql-community-server_6 Sekarang restart layanan MySQL yum -y install mysql-community-server_7 Selanjutnya, periksa SSL dari shell MySQL. Login ke mysql dengan kata sandi baru mysql -u root -p_ Jalankan kueri di bawah ini agar kami dapat melihat status SSL untuk MySQL yum -y install mysql-community-server_9 Anda akan melihat status SSL 'DISABLED', dan pengguna root telah terhubung tanpa SSL Selanjutnya, kita akan mengaktifkan koneksi SSL untuk MySQL. Kita harus mengedit file konfigurasi MySQL 'my. cnf' dengan vim systemctl start mysqld0 Di bagian '[mysqld]', rekatkan konfigurasi di bawah ini systemctl start mysqld1 Simpan file dan keluar dari vim, restart layanan MySQL yum -y install mysql-community-server_7 Sekarang login ke MySQL lagi dan periksa SSL mysql -u root -p_ Jalankan kueri di bawah untuk memastikan nilai bagian SSL adalah 'YA' systemctl start mysqld_4 Anda akan melihat bahwa SSL untuk MySQL diaktifkan, tetapi pengguna root masih belum terhubung menggunakan koneksi SSL Untuk memaksa semua koneksi pengguna lokal dengan SSL, edit file konfigurasi mysql 'my. cnf' lagi systemctl start mysqld0 Rekatkan konfigurasi di bawah ini ke akhir baris systemctl start mysqld6 Simpan dan keluar, lalu restart MySQL yum -y install mysql-community-server_7 Hubungkan ke MySQL lagi dan periksa koneksi dan SSL diaktifkan systemctl start mysqld_8 SSL telah diaktifkan dan koneksi lokal juga menggunakan SSL Langkah 5 - Aktifkan Koneksi Jarak JauhPada langkah-langkah di atas, kami telah mengaktifkan SSL untuk server MySQL, dan koneksi lokal terpaksa menggunakan SSL. Pada langkah ini, kami akan mengaktifkan koneksi jarak jauh untuk MySQL, tetapi kami hanya mengizinkan klien yang memiliki file sertifikat yang ditandatangani oleh CA kami untuk terhubung ke server MySQL Edit file konfigurasi MySQL dengan vim systemctl start mysqld0 Rekatkan konfigurasi ini di bawah di akhir bagian '[mysqld]' netstat -plntu0 Simpan file dan keluar dari editor, restart MySQL yum -y install mysql-community-server_7 Selanjutnya, buat pengguna baru untuk koneksi jarak jauh. Saya akan membuat pengguna baru bernama 'hakase' dengan kata sandi '[email protected]' dan memberikan semua hak istimewa kepada pengguna 'hakase'. pengguna 'hakase' hanya akan dapat terhubung dengan kunci Sertifikat netstat -plntu2 Pengguna baru untuk koneksi jarak jauh telah dibuat Catatan Anda mungkin melihat '1 peringatan' di hasil kueri mysql. Itu hanya peringatan tentang penggunaan kueri ALTER USER alih-alih GRANT karena kueri 'GRANT' akan ditinggalkan dalam rilis berikutnya Langkah 6 - PengujianDi bagian akhir tutorial ini, kita akan menguji apakah pengguna baru bernama 'hakase' dapat terhubung ke server MySQL dari jarak jauh dengan file sertifikat. Tiga sertifikat untuk klien harus diunduh
Saya telah masuk ke sistem Linux lain dan menginstal paket klien-mysql di sana. Kemudian saya mengunduh semua file sertifikat klien dengan SCP. Sekarang saya akan terhubung ke server MySQL dengan file sertifikat netstat -plntu_3 10. 0. 15. 11 = alamat IP Server MySQL Anda dapat melihat status koneksi dengan kueri ini di bawah netstat -plntu_4 Hakase pengguna dengan alamat IP 10. 0. 15. 10 Terhubung ke server MySQL dengan alamat IP 10. 0. 15. 11, koneksi melalui TCP/IP pada port 3306 dan menggunakan SSL Saat Anda mencoba terhubung tanpa file Sertifikat, Anda akan melihat kesalahan seperti di bawah ini Selanjutnya, saya akan menguji dengan GUI MySQLWorkbench dari host saya Di bawah ini adalah konfigurasi saya - Pengaturan Parameter Konfigurasi SSL - Mengatur SSL Dan di bawah hasil koneksi dengan file SSL Client Certificate Pengguna baru berhasil terhubung dari jarak jauh ke server database MySQL dengan koneksi SSL. Saat pengguna mencoba terhubung tanpa file Sertifikat, hasilnya akan 'ditolak'. Instalasi dan Konfigurasi MySQL dengan koneksi SSL telah berhasil Bagaimana cara terhubung ke database MySQL di CentOS 7?Instal MySQL CentOS . Siapkan repositori Yum. Jalankan perintah berikut untuk mengaktifkan repositori MySQL yum di CentOS. . Instal Server Komunitas MySQL 8. . Mulai Layanan MySQL. . Tampilkan kata sandi default untuk pengguna root. . Instalasi Aman MySQL. . Mulai ulang dan aktifkan layanan MySQL. . Hubungkan ke MySQL Bagaimana cara terhubung ke database MySQL di CentOS?Panduan Install MySQL di CentOS 7. Langkah 1. Unduh Paket Repositori. Langkah 2. Tambahkan Repositori Perangkat Lunak. Langkah 3. Instal MySQL Menggunakan MySQL. Mengelola Layanan MySQL. Temukan Kata Sandi Sementara. Konfigurasi dan Pengamanan. Masuk ke MySQL Bagaimana cara memeriksa MySQL di CentOS 7?Setelah Anda menyiapkan MySQL di CentOS 7, itu tidak secara otomatis dimulai tepat setelah instalasi. . Anda tidak akan mendapat respons setelah MySQL dimulai, jadi untuk memeriksa apakah sudah berfungsi dengan baik, gunakan perintah di bawah ini. sudo systemctl status mysqld Bagaimana cara terhubung ke database MySQL dari Linux?AKSES DATABASE MYSQL . Masuk ke server web Linux Anda melalui Secure Shell Buka program klien MySQL di server di direktori /usr/bin Ketik sintaks berikut untuk mengakses database Anda. $ mysql -h {hostname} -u nama pengguna -p {databasename} Kata sandi. {kata sandi Anda} |