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 [email protected] 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 [email protected] 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

Sandclock 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, Sandclock 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

[DirectAdmin] Giới thiệu và cài đặt Direct Admin (phần 1)

Direct Admin được giới thiệu là phần mềm control panel mạnh mẽ và dễ sử dụng để quản trị...
30/12/2020

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

Trong phần trước mình đã hướng dẫn cách để tạo các mục trong phần Organization của Netbox, phần...
30/12/2020

[Ubuntu 18.4] Hướng dẫn đặt địa chỉ IP trên Ubuntu 18.4

Chắc hẳn nhiều người đã không còn xa lạ với thao tác cấu hình địa chỉ IP bằng CLI trong các...
30/12/2020
Bài Viết

Bài Viết Mới Cập Nhật

Hướng dẫn chuyển đổi windows server windows evaluation to standard và active windows server 2008 + 2012 + 2016 + 2019
26/10/2021

How to Update Ubuntu Linux
24/10/2021

Squid Proxy Manager cài đặt và quản lý Proxy Squid tự động trên ubuntu
20/10/2021

Hướng dẫn cài đặt Apache CloudStack 4.15.2.0
19/10/2021

Hướng dẫn ký file PDF bằng chữ ký số (chữ ký điện tử) và sửa lỗi mới nhất 2021 foxit reader
19/10/2021