Cách cài đặt MariaDB trên Debian 9
MariaDB là một hệ quản trị database open-souce , thường được cài đặt thay cho MySQL như một phần của ngăn xếp LAMP (Linux, Apache, MySQL, PHP / Python / Perl) phổ biến. Nó sử dụng database quan hệ và SQL (Ngôn ngữ truy vấn có cấu trúc) để quản lý dữ liệu của nó. MariaDB đã bị tách khỏi MySQL vào năm 2009 do lo ngại về cấp phép. Phiên bản cài đặt ngắn gọn rất đơn giản: cập nhật  index gói  của bạn, cài đặt gói mariadb-server (trỏ tới MariaDB), rồi chạy tập lệnh bảo mật đi kèm.
- sudo apt update 
 - sudo apt install mariadb-server 
 - sudo mysql_secure_installation 
 
Hướng dẫn này sẽ giải thích cách cài đặt MariaDB version 10.1 trên server Debian 9.
Yêu cầu
Để làm theo hướng dẫn này, bạn cần :
-  Một  server  Debian 9 được  cài đặt   theo  hướng dẫn  cài đặt   server  ban đầu này , bao gồm  user  không phải root có  quyền  
sudovà firewall . 
Bước 1 - Cài đặt MariaDB
Trên Debian 9, MariaDB version 10.1 có trong repository APT theo mặc định. Nó được group đóng gói Debian MySQL / MariaDB đánh dấu là biến thể MySQL mặc định.
 Để cài đặt nó, hãy cập nhật  index gói  trên  server  của bạn với apt :
- sudo apt update 
 
Sau đó cài đặt gói:
- sudo apt install mariadb-server 
 
Thao tác này sẽ cài đặt MariaDB, nhưng sẽ không nhắc bạn đặt password hoặc thực hiện bất kỳ thay đổi cấu hình nào khác. Vì điều này khiến cài đặt MariaDB của bạn không an toàn, ta sẽ giải quyết vấn đề này tiếp theo.
Bước 2 - Cấu hình MariaDB
Đối với các bản cài đặt mới, bạn cần chạy tập lệnh bảo mật đi kèm. Điều này thay đổi một số tùy chọn mặc định kém an toàn hơn như đăng nhập gốc từ xa và user mẫu.
Chạy tập lệnh bảo mật:
- sudo mysql_secure_installation 
 
Điều này sẽ đưa bạn qua một loạt  dấu nhắc  mà bạn có thể thực hiện một số thay đổi đối với các tùy chọn bảo mật của cài đặt MariaDB  của bạn .  Dấu nhắc  đầu tiên sẽ yêu cầu bạn nhập password  gốc của database  hiện tại. Vì  ta  chưa  cài đặt  một account  nào, hãy nhấn ENTER để biểu thị “không có”.
  Dấu nhắc  tiếp theo hỏi bạn có muốn  cài đặt  password  gốc database  hay không. Gõ N và sau đó nhấn ENTER . Trong Debian, account  gốc cho MariaDB được gắn chặt với bảo trì hệ thống tự động, vì vậy  ta  không nên thay đổi phương thức xác thực đã  cấu hình  cho account  đó. Làm như vậy sẽ làm cho bản cập nhật gói có thể phá vỡ hệ thống database  bằng cách xóa quyền truy cập vào account  quản trị. Sau đó,  ta  sẽ trình bày cách tùy chọn  cài đặt  account  quản trị bổ sung để truy cập password  nếu xác thực socket không phù hợp với trường hợp sử dụng của bạn.
 Từ đó, bạn có thể nhấn Y rồi ENTER để chấp nhận giá trị mặc định cho tất cả các câu hỏi tiếp theo. Thao tác này sẽ xóa một số  user  ẩn danh và database  thử nghiệm, vô hiệu hóa đăng nhập gốc từ xa và tải các  luật  mới này để MariaDB  áp dụng ngay  những thay đổi bạn đã thực hiện.
Bước 3 - (Tùy chọn) Điều chỉnh Xác thực User và Đặc quyền
 Trong hệ thống Debian chạy MariaDB 10.1,  user  MariaDB gốc được đặt để xác thực bằng plugin unix_socket theo mặc định chứ không phải bằng password . Điều này cho phép một số bảo mật và  hữu dụng  trong nhiều trường hợp, nhưng nó cũng có thể  làm phức tạp thêm  khi bạn cần cho phép một chương trình bên ngoài (ví dụ: phpMyAdmin) quyền quản trị.
 Vì  server  sử dụng account  gốc cho  các việc  như xoay vòng log  và khởi động và dừng  server , tốt nhất là không thay đổi chi tiết xác thực của account  gốc . Thay đổi thông tin đăng nhập account  trong /etc/mysql/debian.cnf có thể hoạt động ban đầu, nhưng các bản cập nhật gói có thể có khả năng overrides  những thay đổi đó. Thay vì sửa đổi account  gốc , những người bảo trì gói khuyên bạn nên tạo một account  quản trị riêng nếu bạn cần  cài đặt  quyền truy cập dựa trên password .
 Để làm như vậy,  ta  sẽ tạo một account  mới có tên là admin với các khả năng tương tự như account  gốc , nhưng được  cấu hình  để xác thực password . Để thực hiện việc này, hãy mở  dấu nhắc  MariaDB từ terminal  của bạn:
- sudo mysql 
 
Bây giờ, ta có thể tạo một user mới với quyền root và quyền truy cập dựa trên password . Thay đổi tên user và password để phù hợp với sở thích của bạn:
- GRANT ALL ON *.* TO 'admin'@'localhost' IDENTIFIED BY 'password' WITH GRANT OPTION; 
 
Xóa các quyền đảm bảo rằng chúng được lưu và khả dụng trong phiên hiện tại:
- FLUSH PRIVILEGES; 
 
Sau đó, thoát khỏi shell MariaDB:
- exit 
 
Cuối cùng, hãy kiểm tra cài đặt MariaDB.
Bước 4 - Kiểm tra MariaDB
Khi được cài đặt từ repository mặc định , MariaDB sẽ bắt đầu chạy tự động. Để kiểm tra điều này, hãy kiểm tra trạng thái của nó.
- sudo systemctl status mariadb 
 
Bạn sẽ thấy kết quả tương tự như sau:
● mariadb.service - MariaDB database server    Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled)    Active: active (running) since Tue 2018-09-04 16:22:47 UTC; 2h 35min ago   Process: 15596 ExecStartPost=/bin/sh -c systemctl unset-environment _WSREP_START_POSIT   Process: 15594 ExecStartPost=/etc/mysql/debian-start (code=exited, status=0/SUCCESS)   Process: 15478 ExecStartPre=/bin/sh -c [ ! -e /usr/bin/galera_recovery ] && VAR= ||      Process: 15474 ExecStartPre=/bin/sh -c systemctl unset-environment _WSREP_START_POSITI   Process: 15471 ExecStartPre=/usr/bin/install -m 755 -o mysql -g root -d /var/run/mysql  Main PID: 15567 (mysqld)    Status: "Taking your SQL requests now..."     Tasks: 27 (limit: 4915)    CGroup: /system.slice/mariadb.service            └─15567 /usr/sbin/mysqld  Sep 04 16:22:45 deb-mysql1 systemd[1]: Starting MariaDB database server... Sep 04 16:22:46 deb-mysql1 mysqld[15567]: 2018-09-04 16:22:46 140183374869056 [Note] /usr/sbin/mysqld (mysqld 10.1.26-MariaDB-0+deb9u1) starting as process 15567 ... Sep 04 16:22:47 deb-mysql1 systemd[1]: Started MariaDB database server. Nếu MariaDB không chạy, bạn có thể khởi động nó bằng sudo systemctl start mariadb .
 Để kiểm tra thêm, bạn có thể thử kết nối với database  bằng công cụ mysqladmin , là một  ứng dụng client  cho phép bạn chạy các lệnh quản trị. Ví dụ: lệnh này cho biết kết nối với MariaDB dưới dạng root và trả về version  bằng cách sử dụng Unix socket:
- sudo mysqladmin version 
 
Bạn sẽ thấy kết quả tương tự như sau:
Outputmysqladmin  Ver 9.1 Distrib 10.1.26-MariaDB, for debian-linux-gnu on x86_64 Copyright (c) 2000, 2017, Oracle, MariaDB Corporation Ab and others.  Server version      10.1.26-MariaDB-0+deb9u1 Protocol version    10 Connection      Localhost via UNIX socket UNIX socket     /var/run/mysqld/mysqld.sock Uptime:         2 hours 44 min 46 sec  Threads: 1  Questions: 36  Slow queries: 0  Opens: 21  Flush tables: 1  Open tables: 15  Queries per second avg: 0.003 Nếu bạn đã cấu hình admin-user riêng biệt với xác thực password , bạn có thể thực hiện thao tác tương tự bằng lệnh :
- mysqladmin -u admin -p version 
 
Điều này nghĩa là MariaDB đang hoạt động và user của bạn có thể xác thực thành công.
Kết luận
Đến đây bạn đã cài đặt cài đặt MariaDB cơ bản trên server của bạn . Dưới đây là một số ví dụ về các bước tiếp theo mà bạn có thể thực hiện:
Các tin liên quan

