Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

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

Ngay sau khi bạn cài đặt MySQL, bạn sẽ có root ngườ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? Vì nó quá mạnh .

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, rất nguy hiểm nếu bạn mắc sai lầm.

Thay vào đó, bạn nên tạo 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ự khi 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ụng root người dùng, nhưng tài khoản người dùng của chính bạn.

Để tạo người dùng mới, hãy kết nối với MySQL bằng root người dùng:

mysql -u root -p

sau đó sử dụng lệnh

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

Ví dụ:để tạo người dùng có tên test_user với mật khẩu test_password12A chạy lệnh:

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

Lệnh sẽ trả về một dòng có nội dung Query 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 điều gì đó giống như ERROR 1819 (HY000): Your password does not satisfy the current policy requirements . Trong trường hợp này, lỗi cho biết 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 nhập QUIT và nhập:

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ói rằng ERROR 1044 (42000): Access denied for user 'test_user'@'localhost' to database 'testing' :

Tại sao? Vì người dùng khô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';

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Chỉ trả về giá trị số trong MySQL

  2. Java:Chèn nhiều hàng vào MySQL với PreparedStatement

  3. Khi nào sử dụng STRAIGHT_JOIN với MySQL

  4. Làm cách nào để truy xuất phiên bản hiện tại của hệ quản trị cơ sở dữ liệu MySQL (DBMS)?

  5. JSON_QUOTE () - Cách thoát các ký tự trong chuỗi được sử dụng làm giá trị JSON trong MySQL