Tạo người dùng trên MySQL

Hướng dẫn nhanh từng bước về cách tạo người dùng trên MySQL

Ngay sau khi bạn cài đặt MySQL, bạn sẽ córootngười dùng có sẵn.

Đây là người dùng mà bạn có thể sử dụng để thử và xem MySQL có hoạt động hay không, nhưng đó không phải là người dùng cho các kiểu sử dụng khác.

Tại sao? Bởi vì nóquá mạnh mẽ.

Với sức mạnh to lớn đi kèm với trách nhiệm lớn (chú của Người Nhện nói). Và đặc biệt, nguy hiểm rất lớn nếu bạn mắc sai lầm.

Thay vào đó, bạn nên tạo những người dùng đặc biệt chỉ có quyền thực hiện công việc của họ và không hơn thế nữa. Tương tự đối với việc sử dụng Linux hoặc bất kỳ hệ thống Unix nào, ví dụ: bạn không muốn sử dụngrootngười dùng, nhưng tài khoản người dùng của riêng bạn.

Để tạo người dùng mới, hãy kết nối với MySQL bằng cách sử dụngrootngười sử dụng:

mysql -u root -p

sau đó sử dụng lệnh

CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';

Ví dụ: để tạo một người dùng có têntest_uservới mật khẩutest_password12Achạy lệnh:

CREATE USER 'test_user'@'localhost' IDENTIFIED BY 'test_password12A';

Lệnh sẽ trả về một dòng nói rằngQuery OK, 0 rows affected (X.XX sec):

Nếu bạn sử dụng mật khẩu không hợp lệ, hệ thống sẽ cho bạn biết một số thứ nhưERROR 1819 (HY000): Your password does not satisfy the current policy requirements. Trong trường hợp này, lỗi nói rằng mật khẩu không đủ phức tạp, bởi vì khi tôi cài đặt MySQL, tôi đã yêu cầu nó sử dụng một chính sách nhất định về mật khẩu.

Thật tuyệt! Bây giờ người dùng đã được tạo và chúng tôi có thể kết nối bằng cách sử dụng người dùng đó với MySQL. Từ dòng lệnh, bạn có thể thoát bằng cách gõQUITvà gõ:

mysql -u test_user -p

Bây giờ nếu tôi cố gắng tạo cơ sở dữ liệu, tôi sẽ gặp lỗi nóiERROR 1044 (42000): Access denied for user 'test_user'@'localhost' to database 'testing':

Tại sao? Vì người dùngkhông có quyền tạo cơ sở dữ liệu mới.

Chúng ta sẽ xem cách làm việc với các quyền trong một hướng dẫn khác.

Điều đáng nói là@'localhost'chuỗi chúng tôi đã sử dụng để tạo người dùng. Điều này cho MySQL biết rằng người dùng chỉ có thể kết nối từ localhost. Điều này tốt khi kiểm tra mọi thứ và khi bất kỳ ứng dụng nào sẽ kết nối với MySQL đang chạy trên cùng một máy tính chạy DBMS.

Khi điều này không đúng, bạn cần phải nhập thủ công IP mà người dùng sẽ kết nối từ đó hoặc sử dụng%ký tự đại diện:

CREATE USER 'test_user'@'%' IDENTIFIED BY 'test_password12A';

Tôi muốn kết thúc hướng dẫn này bằng cách chỉ ra cách xóa người dùng mà chúng tôi đã tạo:

DROP USER 'test_user'@'localhost';

Các hướng dẫn khác về cơ sở dữ liệu: