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

1045, Quyền truy cập bị từ chối đối với người dùng 'tên người dùng' @ 'KHÔNG cục bộ' (sử dụng mật khẩu:CÓ)

hiển thị thông tin đăng nhập vào máy chủ (lưu ý rằng % nghĩa là máy chủ lưu trữ hoặc ký tự đại diện)

select user,host from mysql.user;

+-----------+------------+
| user      | host       |
+-----------+------------+
| ajax_guy  | %          |
| joe7      | %          |
| joe8      | %          |
+-----------+------------+

hiển thị những khoản trợ cấp nào tồn tại cho một người dùng nhất định.

show grants for 'ajax_guy'@'%';

+----------------------------------------------------------------------
| Grants for [email protected]%                                              
+----------------------------------------------------------------------
| GRANT USAGE ON *.* TO 'ajax_guy'@'%' IDENTIFIED BY PASSWORD ...
| GRANT ALL PRIVILEGES ON `ajax_stuff`.* TO 'ajax_guy'@'%'           
| GRANT ALL PRIVILEGES ON `ajax_stuff`.`ajax_stuff` TO 'ajax_guy'@'%'
+----------------------------------------------------------------------

Cách cấp quyền truy cập vào một db nhất định cho một thông tin đăng nhập nhất định. Hiện tại chúng tôi đang cấp tất cả các quyền cho người dùng đối với so_gibberish cơ sở dữ liệu .

grant ALL on so_gibberish.* to 'ajax_guy'@'%';

Xem xét các khoản tài trợ có hiệu lực ngay bây giờ cho lần đăng nhập đó

+----------------------------------------------------------------------
| Grants for [email protected]%                                              
+----------------------------------------------------------------------
| GRANT USAGE ON *.* TO 'ajax_guy'@'%' IDENTIFIED BY PASSWORD ...
| GRANT ALL PRIVILEGES ON `ajax_stuff`.* TO 'ajax_guy'@'%'           
| GRANT ALL PRIVILEGES ON `so_gibberish`.* TO 'ajax_guy'@'%'         
| GRANT ALL PRIVILEGES ON `ajax_stuff`.`ajax_stuff` TO 'ajax_guy'@'%'
+----------------------------------------------------------------------

Tạo thông tin đăng nhập mới drew_saturday với mật khẩu friday987 . Anh ấy có tất cả các đặc quyền trên cơ sở dữ liệu so_gibberish và có thể đăng nhập từ bất kỳ máy chủ nào (% )

grant ALL on so_gibberish.* to 'drew_saturday'@'%' IDENTIFIED BY 'friday987';

select user,host,password from mysql.user where user='drew_saturday';

+---------------+------+-------------------------------------------+
| user          | host | password                                  |
+---------------+------+-------------------------------------------+
| drew_saturday | %    | *4600ED0F377308959665877BD327D4788DC2071F |
+---------------+------+-------------------------------------------+

Nhân tiện, mật khẩu ở trên là mật khẩu đã băm.

Lưu ý:đối với MySQL 5.7, lệnh trên sẽ là:

select user,host,authentication_string from mysql.user where user='drew_saturday';

Trang hướng dẫn sử dụng Mysql trên Grant . Không cấp quá nhiều quyền cho người dùng bằng cách sử dụng grant ALL on *. ... . Đó sẽ là cho tất cả cơ sở dữ liệu trong hệ thống. Chỉ cần đọc hướng dẫn sử dụng và ít hơn là nhiều hơn.

Đôi khi, quản trị viên chỉ muốn cấp quyền truy cập vào một số ít các bảng trong cơ sở dữ liệu (không phải tất cả các bảng trong đó) để đăng nhập. Hướng dẫn sử dụng là phải đọc về điều này.

Và một điều cuối cùng. 'draw_saturday' @ '%' là thông tin đăng nhập khác với 'draw_saturday' @ 'NOT-local' (mượn từ tiêu đề của bạn). Chúng là những thông tin đăng nhập khác nhau với các quyền khác nhau. Đó là điểm của điều đầu tiên tôi viết trên đó.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. mysql_num_rows () mong đợi tham số 1 là tài nguyên, boolean được đưa vào

  2. Làm thế nào để hiển thị các bản ghi theo chiều dọc trong dòng lệnh mysql?

  3. Tải dữ liệu trong tệp giá trị mặc định không chèn trong bảng

  4. Làm thế nào để tạo một bảng chuỗi động trong MySQL?

  5. tại sao chúng ta cần kết hợp trái và phải