Bagaimana cara saya terhubung ke mysql di centos 7?

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

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

  1. Instal MySQL
  2. Konfigurasi Kata Sandi Root MySQL
  3. Hasilkan File Sertifikat SSL Baru yang Ditandatangani Sendiri
  4. Aktifkan SSL untuk MySQL
  5. Aktifkan Koneksi Jarak Jauh
  6. Pengujian

Prasyarat

  • Server CentOS7
  • Hak istimewa root

Langkah 1 - Instal MySQL

Dalam 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 //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
systemctl enable 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 MySQL

Secara 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
TYPE IN DEFAULT PASSWORD_

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]';
flush privileges;
exit;

Sekarang Anda dapat terhubung kembali dengan kata sandi baru '[email protected]'

mysql -u root -p
TYPE NEW PASSWORD '[email protected]'_

Langkah 3 - Hasilkan File Sertifikat Baru yang Ditandatangani Sendiri

Secara 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
cd /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 MySQL

Pada 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
TYPE NEW PASSWORD '[email protected]'_

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 mysqld
systemctl enable mysqld0

Di bagian '[mysqld]', rekatkan konfigurasi di bawah ini

systemctl start mysqld
systemctl enable 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
TYPE NEW PASSWORD '[email protected]'_

Jalankan kueri di bawah untuk memastikan nilai bagian SSL adalah 'YA'

systemctl start mysqld
systemctl enable 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 mysqld
systemctl enable mysqld0

Rekatkan konfigurasi di bawah ini ke akhir baris

systemctl start mysqld
systemctl enable 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
systemctl enable mysqld_8

SSL telah diaktifkan dan koneksi lokal juga menggunakan SSL

Langkah 5 - Aktifkan Koneksi Jarak Jauh

Pada 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 mysqld
systemctl enable 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 - Pengujian

Di 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

  1. Sertifikat CA - ca. pem
  2. Sertifikat klien - sertifikat klien. pem
  3. Kunci klien - kunci klien. pem

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}

Postingan terbaru

LIHAT SEMUA