Làm cách nào để tìm kiếm xem người dùng MySQL có tồn tại trên hệ thống không?


8

Tôi không tìm thấy người dùng bởi vì show grants for 'username'@'localhost''tôi nghĩ rằng có lẽ tên người dùng hơi khác nhau, vì vậy tôi muốn thực hiện tìm kiếm ký tự đại diện cho tất cả người dùng cơ sở dữ liệu. Tôi có thể làm cái này như thế nào?

cập nhật: để làm rõ, vì tôi nghĩ có lẽ tôi đã không rõ ràng 100%. bằng ký tự đại diện, ý tôi là tôi chỉ muốn tìm kiếm một phần tên người dùng hoặc cho tất cả tên người dùng trùng khớp với mẫu. Trên hệ thống tôi cần cái này trên đó có 5k + người dùng và mặc dù đó không phải là mất hiệu năng lớn, tôi cũng không muốn xem qua từng cái một.

Câu trả lời:


9

Nhờ câu trả lời của @matthewh , tôi đã quản lý để tạo một truy vấn sẽ hoạt động khi tìm kiếm thông qua một số lượng lớn người dùng:

use mysql;
select  User, Host from  user where User like 'user%';

Lưu ý: <user> là bất kỳ thành phần nào của tên người dùng bạn cần tìm kiếm, bạn có thể cần% ở cả hai bên nếu bạn không biết bắt đầu tên người dùng, <> chỉ đơn thuần là để lưu ý biến, không bao gồm chúng trong một truy vấn thực tế, trừ khi tên người dùng bao gồm <hoặc>.


7
use mysql;

select Host,User from user;

sẽ cung cấp cho bạn tất cả người dùng MySQL trên máy chủ đó.


Tôi đã bỏ phiếu này, vì nó không làm theo ý tôi bằng ký tự đại diện, mặc dù tôi thừa nhận rằng đó có thể là lỗi của tôi vì đã không đủ rõ ràng trước mắt. Nó có thể đã được hiểu là tất cả mọi thứ khi những gì tôi muốn là tương đương với 'find -name' user * 'cho một tên tệp trên unix.
xenoterracide
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.