GNU/Linux >> Belajar Linux >  >> Linux

Instal server MariaDB di CentOS

Dengan dirilisnya CentOS 7, MariaDB menggantikan MySQL sebagai sistem database default. MariaDB dibuat oleh pengembang asli MySQL, dan merupakan pengganti drop-in yang disempurnakan untuk MySQL dengan kesetaraan biner perpustakaan dan pencocokan persis dengan API dan perintah MySQL.

Artikel ini menjelaskan penginstalan dasar server database MariaDB di CentOS Linux. Anda mungkin perlu menginstal paket lain agar aplikasi dapat menggunakan MariaDB, seperti ekstensi untuk PHP. Periksa dokumentasi aplikasi Anda untuk detailnya.

Instal server database

Ikuti langkah-langkah di bagian ini untuk menginstal server database inti.

Instal MariaDB

Instal server MariaDB melalui CentOS package manager (yum) dengan menjalankan perintah berikut pada prompt perintah:

sudo yum install mariadb-server

Izinkan akses jarak jauh

Jalankan perintah berikut untuk mengizinkan akses jarak jauh:

firewall-cmd --zone=public --add-service=mysql --permanent

Setel kata sandi root

Karena Anda baru saja menginstal server database MariaDB, akun root tidak memiliki kata sandi yang ditetapkan. Gunakan perintah berikut untuk mengatur kata sandi root dan pengaturan penting lainnya:

/usr/bin/mysql_secure_installation

Memulai dan menghentikan layanan database

Setelah penginstalan selesai, Anda dapat memulai layanan database dengan menggunakan perintah di bagian ini. Jika sistem sudah dimulai, sebuah pesan memberitahu Anda bahwa layanan sudah berjalan.

Gunakan perintah berikut untuk memulai MariaDB:

sudo systemctl start mariadb.service

Gunakan perintah berikut untuk menghentikan MariaDB:

sudo systemctl stop mariadb.service

Luncurkan saat reboot

Untuk memastikan bahwa server database diluncurkan setelah reboot, Anda harus mengaktifkan chkconfig kegunaan. Gunakan perintah berikut untuk melakukannya:

sudo systemctl enable mariadb.service

Mulai shell MariaDB

Ada lebih dari satu cara untuk bekerja dengan server MariaDB, tetapi artikel ini berfokus pada pendekatan paling dasar dan kompatibel:mariadb cangkang.

  1. Pada prompt perintah, jalankan perintah berikut untuk meluncurkan shell dan masukkan sebagai pengguna root:

     /usr/bin/mysql -u root -p
    
  2. Saat Anda dimintai sandi, masukkan sandi yang Anda setel saat penginstalan, atau jika Anda belum menyetelnya, tekan Enter untuk mengirimkan tanpa kata sandi.

    Prompt shell berikut akan muncul:

    MariaDB [(none)]>
    

Melihat pengguna

MariaDB dan MySQL menyimpan informasi pengguna di database mereka sendiri. Nama databasenya adalah mysql . Di dalam basis data itu, informasi pengguna ada dalam sebuah tabel, kumpulan data yang diberi nama pengguna . Jika Anda ingin melihat pengguna apa yang diatur di tabel pengguna MySQL, jalankan perintah berikut:

SELECT User, Host, Password FROM mysql.user;

Daftar berikut menjelaskan bagian-bagian dari perintah itu:

  • PILIH memberi tahu MySQL bahwa Anda meminta data.
  • Pengguna, Host, Sandi memberi tahu MySQL bidang apa yang Anda inginkan untuk dilihat. Bidang adalah kategori untuk data dalam tabel. Dalam hal ini, Anda mencari nama pengguna, host yang terkait dengan nama pengguna, dan entri kata sandi terenkripsi.
  • DARI mysql.user memberitahu MySQL untuk mendapatkan data dari mysql database dan pengguna tabel.
  • Sebuah titik koma (;) mengakhiri perintah.

Host pengguna

Contoh berikut adalah output untuk kueri sebelumnya:

SELECT User, Host, Password FROM mysql.user;
+------------------+-----------+-------------------------------------------+
| User             | Host      | Password                                  |
+------------------+-----------+-------------------------------------------+
| root             | localhost | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 |
| root             | 127.0.0.1 | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 |
| root             | ::1       | *756FEC25AC0E1823C9838EE1A9A6730A20ACDA21 |
+------------------+-----------+-------------------------------------------+

Pengguna diasosiasikan dengan sebuah host, khususnya host yang mereka hubungkan. Pengguna root dalam contoh ini didefinisikan untuk localhost , untuk alamat IP localhost , dan nama host server. Anda biasanya perlu menetapkan pengguna hanya untuk host yang biasanya Anda sambungkan.

Jika Anda menjalankan aplikasi di komputer yang sama dengan server MariaDB, host yang terhubung secara default adalah localhost . Setiap pengguna baru yang Anda buat harus memiliki localhost di host their mereka lapangan.

Jika aplikasi Anda terhubung dari jarak jauh, host entri yang dicari MariaDB adalah alamat IP atau nama host DNS dari komputer jarak jauh (yang berasal dari klien).

Buat database

Ada perbedaan antara server database dan database , meskipun istilah tersebut sering digunakan secara bergantian. MariaDB adalah server basis data, artinya ia melacak basis data dan mengontrol akses ke sana. Basis data menyimpan data, dan merupakan basis data yang coba diakses aplikasi saat berinteraksi dengan MariaDB.

Beberapa aplikasi membuat database sebagai bagian dari proses penyiapannya, tetapi yang lain mengharuskan Anda membuat database dan memberi tahu aplikasi tentang hal itu.

Untuk membuat database, login ke mariadb shell dan jalankan perintah berikut, ganti demodb dengan nama database yang ingin Anda buat:

CREATE DATABASE demodb;

Basis data dibuat. Anda dapat memverifikasi pembuatannya dengan menjalankan kueri untuk membuat daftar semua database. Contoh berikut menunjukkan kueri dan contoh keluaran:

SHOW DATABASES;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| demodb             |
| mysql              |
+--------------------+
3 rows in set (0.00 sec)

Kelola pengguna dan hak istimewa

Gunakan petunjuk di bagian ini untuk menambahkan pengguna ke database dan untuk memberikan dan mencabut hak istimewa.

Tambahkan pengguna dan hak istimewa

Ketika aplikasi terhubung ke database menggunakan pengguna root, mereka biasanya memiliki lebih banyak hak istimewa daripada yang mereka butuhkan. Anda dapat membuat pengguna baru yang dapat digunakan aplikasi untuk terhubung ke database baru. Dalam contoh berikut, pengguna bernama demouser dibuat.

Untuk membuat pengguna baru, jalankan perintah berikut di mariadb cangkang:

CREATE USER 'demouser'@'localhost' IDENTIFIED BY 'demopassword';

Anda dapat memverifikasi bahwa pengguna dibuat dengan menjalankan kueri SELECT lagi:

SELECT User, Host, Password FROM mysql.user;
+----------+-----------+------------------------------------------+
| User     | Host      | Password                                 |
+----------+-----------+------------------------------------------+
| root     | localhost | 2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| root     | demohost  | 2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| root     | 127.0.0.1 | 2470C0C06DEE42FD1618BB99005ADCA2EC9D1E19 |
| demouser | localhost | 0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6 |
+----------+-----------+------------------------------------------+

Berikan hak istimewa pengguna database

Tepat setelah Anda membuat pengguna baru, ia tidak memiliki hak istimewa. Pengguna dapat digunakan untuk masuk ke MariaDB, tetapi tidak dapat digunakan untuk membuat perubahan basis data apa pun.

  1. Berikan hak penuh kepada pengguna untuk database baru Anda dengan menjalankan perintah berikut:

    GRANT ALL PRIVILEGES ON demodb.* to demouser@localhost;
    
  2. Hapus hak istimewa untuk membuat perubahan diterapkan.

    FLUSH PRIVILEGES;
    
  3. Untuk memverifikasi bahwa hak istimewa telah disetel, jalankan perintah berikut:

    SHOW GRANTS FOR 'demouser'@'localhost';
    

    MariaDB mengembalikan perintah yang diperlukan untuk mereproduksi hak istimewa pengguna tersebut jika Anda ingin membangun kembali server. USAGE on \*.\* berarti bahwa pengguna tidak mendapatkan hak istimewa pada apa pun secara default. Perintah itu ditimpa oleh perintah kedua, yang merupakan hibah yang Anda jalankan untuk database baru.

     +-----------------------------------------------------------------------------------------------------------------+
     | Grants for demouser@localhost                                                                                   |
     +-----------------------------------------------------------------------------------------------------------------+
     | GRANT USAGE ON *.* TO 'demouser'@'localhost' IDENTIFIED BY PASSWORD '*0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6' |
     | GRANT ALL PRIVILEGES ON `demodb`.* TO 'demouser'@'localhost'                                                    |
     +-----------------------------------------------------------------------------------------------------------------+
     2 rows in set (0.00 sec)
    

Cabut hak istimewa

Terkadang Anda mungkin perlu mencabut (menghapus) hak istimewa dari pengguna. Misalnya, Anda memberikan ALL hak istimewa untuk 'demouser'@'localhost', tetapi Anda juga secara tidak sengaja memberikan hak istimewa ke semua database lain, seperti yang ditunjukkan pada perintah berikut:

+-----------------------------------------------------------------------------------------------------------------+
| Grants for demouser@localhost                                                                                   |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'demouser'@'localhost' IDENTIFIED BY PASSWORD '*0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6' |
| GRANT ALL PRIVILEGES ON *.* TO 'demouser'@'localhost'                                                           |
+-----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

Untuk memperbaiki kesalahan, Anda dapat menggunakan REVOKE pernyataan, diikuti oleh GRANT pernyataan untuk menerapkan hak istimewa yang benar.

REVOKE ALL ON *.* FROM demouser@localhost;
GRANT ALL PRIVILEGES ON demodb.* to demouser@localhost;
SHOW GRANTS FOR 'demouser'@'localhost';

+-----------------------------------------------------------------------------------------------------------------+
| Grants for demouser@localhost                                                                                   |
+-----------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'demouser'@'localhost' IDENTIFIED BY PASSWORD '*0756A562377EDF6ED3AC45A00B356AAE6D3C6BB6' |
| GRANT ALL PRIVILEGES ON 'demodb'TO 'demouser'@'localhost'                                                           |
+-----------------------------------------------------------------------------------------------------------------+
2 rows in set (0.00 sec)

Sekarang pengguna Anda memiliki hak istimewa yang benar, dan server basis data Anda sedikit lebih aman (memberikan hak istimewa seperti ALL on *.* dianggap sebagai praktik yang sangat buruk). Anda juga harus membaca dokumentasi MariaDB resmi mengenai kemungkinan pilihan hak istimewa, untuk hanya memberikan hak istimewa yang benar-benar dibutuhkan, daripada menggunakan ALL .

Ringkasan

Jika Anda baru saja membuat database dan pengguna, Anda selesai. Konsep yang tercakup dalam artikel ini akan memberi Anda awal yang kuat untuk mempelajari lebih lanjut.


Linux
  1. Instal MySQL Server 5.6 di CentOS

  2. Instal MariaDB 10.0 di CentOS 6

  3. Konfigurasikan server MariaDB di CentOS

  1. Instal MariaDB di Server CentOS 7 - Proses Langkah demi Langkah?

  2. Hal yang Dapat Dilakukan pada Instalasi Server Centos 8 Baru

  3. Instal MariaDB di CentOS 6.4

  1. Instal Admin di CentOS

  2. Instal Textpattern di CentOS 7

  3. Instal CumulusClips di CentOS 7