MariaDB là một trong những cơ sở dữ liệu nổi tiếng nhất trên thế giới, được tạo ra bởi cùng các nhà phát triển MySQL, sau khi MySQL được Oracle mua lại và có vẻ sẽ đóng hoàn toàn thì MariaDB vẫn đang hoàn toàn là mã nguồn mở và được vận hành bởi cộng đồng. Tính năng chính của nó là tốc độ, khả năng mở rộng và độ mạnh mẽ của các công cụ, plugin và tất nhiên là dung lượng lưu trữ.
1. Cài đặt MariaDB
Đầu tiên ta sẽ tiến hành update hệ thống bằng lệnh
user@server:~$ sudo apt update && sudo apt -y upgrade
Tiếp đó ta sẽ cài đặt dịch vụ MariaDB server.
Nếu muốn cài MariaDB 10.3 thì dùng lệnh:
user@server:~$ sudo apt-get install mariadb-server galera-3 mariadb-client libmariadb3 mariadb-backup mariadb-common
Kích hoạt và kiểm tra trạng thái của dịch vụ này
user@server:~$ sudo systemctl start mariadb user@server:~$ sudo systemctl enable mariadb user@server:~$ sudo systemctl status mariadb
Kết quả sau khi kiểm tra
● mariadb.service - MariaDB 10.3.34 database server Loaded: loaded (/lib/systemd/system/mariadb.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2022-05-07 14:33:33 UTC; 5min ago Docs: man:mysqld(8) https://mariadb.com/kb/en/library/systemd/ Main PID: 30828 (mysqld) Status: "Taking your SQL requests now..." Tasks: 30 (limit: 1066) Memory: 62.6M CGroup: /system.slice/mariadb.service └─30828 /usr/sbin/mysqld
2. Cấu hình cơ bản cho MariaDB
Chạy một số cài đặt bảo mật cơ bản cho MariaDB bằng lệnh
user@server:~$ sudo mysql_secure_installation
Nó sẽ hiện ra các tùy chọn để bạn lựa chọn
- Enter current password for root (enter for none) – bấm Enter để tiếp tục
- Change the root password? [Y/n] – nhập Y và nhập 2 lần mật khẩu cho user root của MariaDB
- Remove anonymous users? [Y/n] – nhập Y để xóa user anonymous. User này được sinh ra mục đích để test, nên xóa đi để tránh rắc rối sau này
- Disallow root login remotely? [Y/n] – bấm N để bỏ qua bước này nếu bạn muốn sử dụng các công cụ khác như WorkBench để kết nối và lấy dữ liệu từ MariaDB
- Remove test database and access to it? [Y/n] – nhập Y để xóa cơ sở dữ liệu test
- Reload privilege tables now? [Y/n] – nhập Y để tải lại bảng đặc quyền
3. Cấu hình MariaDB sử dụng tên bảng là chữ thường
Việc này sẽ giúp các bạn khi làm việc với MariaDB dễ dàng hơn vì không cần phải để ý đến tên của table (bảng), tên của database(cơ sở dữ liệu), table aliases (bí danh của bảng) là chữ hoa hay chữ thường. Khi bạn nhập chữ hoa thì hệ thống sẽ chuyển sang chữ thường.
Mở file 50-server.cnf bằng lệnh
user@server:~$ sudo nano /etc/mysql/mariadb.conf.d/50-server.cnf
Sau đó thêm tùy chọn sau vào bên dưới dòng có chữ [mariadb] như bên dưới
[mariadb] lower_case_table_names=1
Khởi động lại MariaDB
user@server:~$ sudo systemctl restart mariadb
4. Đăng nhập sử dụng
Vậy là bạn đã hoàn thành cơ bản việc cấu hình cho MariaDB, bây giờ bạn sẽ đăng nhập vào MariaDB sử dụng câu lệnh bên dưới (không cần dùng mật khẩu)
user@server:~$ sudo mysql -u root
Do MariaDB có cơ chế đăng nhập bằng unix_socket plugin nên bạn có thể đăng nhập tài khoản root trong MariaDB bằng quyền root trong Ubuntu (sử dụng sudo) mà không cần nhập mật khẩu. Sau khi đăng nhập thành công bạn có thể dùng lệnh sau để kiểm tra những user nào đang dùng cơ chế này bằng lệnh:
MariaDB [(none)]> select User,host,plugin from mysql.user; +-------+-------------+-------------+ | user | host | plugin | +-------+-------------+-------------+ | root | localhost | unix_socket | | jessy | localhost | | | jessy | 61.38.140.3 | | +-------+-------------+-------------+
Như các bạn có thể thấy, tài khoản root có thể đăng nhập bằng quyền root trong Ubuntu tại localhost sử dụng plugin unix_socket, tài khoản jessy có thể đăng nhập tại localhost và tại địa chỉ 61.38.140.3, ngoài ra các kết nối khác muốn remote đến MariaDB đều không được.
Nếu muốn sử dụng phần mềm WorkBench hoặc HeidiSQL để remote đến MaraDB các bạn cần cấu hình Remote Client Access . Vui lòng tham khảo bài bên dưới
Cấu hình Remote Client Access cho MariaDB để sử dụng remote từ xa
Các bạn tham khảo thêm các bài bên dưới để xem các lệnh thao tác với MariaDB nhé
Các lệnh cơ bản trong MySQL / MariaDB cần nhớ
Bài viết sử dụng Ubuntu 20.04.4 và MariaDB 10.3.34 . Mong được các bạn đóng góp ý kiến để website ngày càng phát triển.