Thiết lập và thay đổi MariaDB 10.4.x Root Password

30/12/2020

Khác với những version trước đây, MariaDB 10.4 bản ổn định có thêm nhiều cải tiến. Một trong những khác biệt rõ ràng nhất trong MariaDB 10.4 mà bạn có thể dễ dàng kiểm tra đó là truy cập vào database bằng user root mà không cần đến mật khẩu. Vậy nếu trong trường hợp bạn vẫn muốn đặt password cho user root của MariaDB thì phải làm như nào? Cùng đọc bài viết để tìm hiểu nhé!

Tổng quan

  • MariaDB 10.4 có khả năng sử dụng nhiều hơn một plugin xác thực cho mỗi tài khoản. Khi cài đặt MariaDB, mặc định sẽ tạo ra 1 root@localhost user và cũng sẽ có 2 plugin xác thực cho user root được bật mặc định là unix_socketmysql_native_password
    • unix_socket cho phép root@localhost user đăng nhập mà không cần mật khẩu thông qua local Unix socket file được xác định bởi  socket biến hệ thống, miễn là root user của OS cũng có thể đăng nhập.
    • mysql_native_password được khuyến khích sử dụng khi xác thực thất bại với  unix_socket. Plugin này sử dụng password để xác thực nên bạn sẽ cần SET PASSWORD.
  • Tất cả user, password, privileges được lưu trữ trong bảng mysql.global_priv. Bảng mysql.user vẫn tồn tại với đủ các cột như trước nhưng bạn không thể thực hiện các thao tác chỉnh sửa trên bảng.
  • MariaDB hỗ trợ thiết lập thời gian hết hạn password của người dùng.

Theo mặc định plugin unix_socket sẽ được sử dụng do đó bạn có thể trực tiếp truy cập vào database mà không cần password. Bạn có thể thử sử dụng mysql -u root -p và nhập vào password sai vẫn có thể truy cập bình thường.

Reset password

  • Truy cập vào database
mysql -u root
  • Đặt mật khẩu
SET PASSWORD FOR 'user_name'@'hostname' = PASSWORD('newpass'); 

Ví dụ: Đặt lại password cho root MariaDB user

 SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpass');  
  • Tắt plugin unix_socket trong file /etc/my.cnf.d/server.cnf
[mariadb] ... unix_socket=OFF

hoặc

[mariadb] ... disable_unix_socket
  • Restart MariaDB để nhận cấu hình mới
systemctl restart mariadb
  • Kiểm tra hoạt động của password vừa tạo
mysql -u root -p

Vì bạn đã tắt plugin unix_socket ở trên nên ở bước kiểm tra này nếu không nhập chính xác password bạn sẽ không thể truy cập vào database.

Lời kết

Nhà phát triển MariaDB khuyến khích mọi người sử dụng plugin unix socket và chỉ nên sử dụng password cho root MariaDB user khi thật sự cần thiết vì khi bạn cài đặt password mặc dù password đó đã được mã hóa nhưng khi bạn backup database nó sẽ backup luôn dữ liệu về password của bạn. Hacker có thể tấn công để lấy được dữ liệu này và biết được Password của bạn. “Remember, the best way to keep your password safe is not to have one!

Tham khảo các bài viết khác

ONET IDC thành lập vào năm 2012, là công ty chuyên nghiệp tại Việt Nam trong lĩnh vực cung cấp dịch vụ Hosting, VPS, máy chủ vật lý, dịch vụ Firewall Anti DDoS, SSL… Với 10 năm xây dựng và phát triển, ứng dụng nhiều công nghệ hiện đại, ONET IDC đã giúp hàng ngàn khách hàng tin tưởng lựa chọn, mang lại sự ổn định tuyệt đối cho website của khách hàng để thúc đẩy việc kinh doanh đạt được hiệu quả và thành công.
Bài viết liên quan

[Netbox] [Phần 4] Hướng dẫn tạo Devices trên Netbox

Các device trong Netbox đề cập đến nhà sản xuất của thiết bị, vai trò của thiết bị và kiểu...
30/12/2020

CLI #1: Giới thiệu lệnh nload và lệnh iperf để giám sát tốc độ card mạng

Hôm nay Onet sẽ giới thiệu đến các bạn 2 công cụ dùng để đo lường dữ liệu mạng và hiển...
30/12/2020

Nextcloud [Part 6] – Cài đặt App tính năng trên NextCloud

Mục lục : Quản lý App trên NextCloud Cài đặt ứng dụng trên NextCloud 1. Quản lý App trên...
30/12/2020