Mã lỗi: 1133. Không thể tìm thấy bất kỳ hàng phù hợp nào trong bảng người dùng


7

Tôi đang đọc O'Relly "Học MySQL" và nó nói rằng bạn có thể tạo người dùng trong MySQL bằng cách thực hiện việc này:

mysql> GRANT ALL ON *.* TO 'jill'@'%.invyhome.com' IDENTIFIED BY 'the_password';
Query OK, 0 rows affected (0.01 sec)

Nhưng nếu tôi cố gắng làm:

-> grant select on testgrounds.personas to ''@'localhost';
--> Error Code: 1133. Can't find any matching row in the user table

Nhưng nó thành công nếu tôi sử dụng mật khẩu:

->grant select on testgrounds.personas to ''@'localhost' identified by 'pass';
--> 0 row(s) affected

Tôi đã phải khôi phục các đặc quyền cho người dùng root vì tôi đã thử nghiệm và tôi đã làm hỏng chúng, vì vậy tôi nghĩ trước khi làm điều đó tôi thực sự có thể sử dụng câu lệnh trong cuốn sách (tôi không nhớ 100%)

-> select current_user;
--> 'root@localhost'

-> show grants;
--> 'GRANT ALL PRIVILEGES ON *.* TO \'root\'@\'localhost\' IDENTIFIED BY PASSWORD \'*4ACFE3202A5FF5CF467898FC58AAB1D615029441\' WITH GRANT OPTION'
--> 'GRANT ALL PRIVILEGES ON `testgrounds`.* TO \'root\'@\'localhost\' WITH GRANT OPTION'
--> 'GRANT PROXY ON \'\'@\'\' TO \'root\'@\'localhost\' WITH GRANT OPTION'

Có vấn đề gì với cài đặt hoặc thiết lập MySQL của tôi không?

Câu trả lời:


2

Đây không phải là vấn đề với cài đặt hoặc thiết lập MySQL.

Mỗi tên tài khoản bao gồm cả tên người dùng và tên máy chủ như 'user_name' @ 'host_name', ngay cả khi tên máy chủ không được chỉ định. Từ tài liệu tham khảo MySQL:

Tên tài khoản MySQL bao gồm tên người dùng và tên máy chủ. Điều này cho phép tạo tài khoản cho người dùng có cùng tên có thể kết nối từ các máy chủ khác nhau.

Điều này cũng cho phép MySQL cấp các cấp quyền khác nhau tùy thuộc vào máy chủ nào họ sử dụng để kết nối.

Khi cập nhật tài trợ cho tài khoản mà MySQL không nhận ra phần máy chủ, nó sẽ trả về mã lỗi 1133 trừ khi có mật khẩu để nhận dạng tài khoản này.

Ngoài ra, MySQL sẽ cho phép tên tài khoản chỉ được chỉ định bởi tên người dùng, nhưng trong trường hợp này, nó được coi là 'user_name' @ '%'.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.