Một trong những cách dễ nhất mà tôi đã tìm thấy để xuất người dùng là sử dụng công cụ pt-show-grants của Percona. Bộ công cụ Percona miễn phí, dễ cài đặt và dễ sử dụng, với nhiều tài liệu, đây là một cách dễ dàng để hiển thị cho tất cả người dùng hoặc những người dùng cụ thể. Nó liệt kê tất cả các khoản tài trợ và kết quả đầu ra của họ ở định dạng SQL. Tôi sẽ đưa ra một ví dụ về cách tôi sẽ hiển thị tất cả các khoản tài trợ cho test_user:
shell> pt-show-grants --only test_user
Ví dụ đầu ra của lệnh đó:
GRANT USAGE ON *.* TO 'test_user'@'%' IDENTIFIED BY PASSWORD '*06406C868B12689643D7E55E8EB2FE82B4A6F5F4';
GRANT ALTER, INSERT, LOCK TABLES, SELECT, UPDATE ON `test`.* TO 'test_user'@'%';
Tôi thường giới hạn lại kết quả đầu ra thành một tệp để tôi có thể chỉnh sửa những gì tôi cần hoặc tải nó vào mysql.
Ngoài ra, nếu bạn không muốn sử dụng công cụ Percona và muốn thực hiện kết xuất tất cả người dùng, bạn có thể sử dụng mysqldump theo cách này:
shell> mysqldump mysql --tables user db > users.sql
Lưu ý:Đặc quyền --flush sẽ không hoạt động với điều này, vì toàn bộ db sẽ không bị kết xuất. điều này có nghĩa là bạn cần chạy nó theo cách thủ công.
shell> mysql -e "FLUSH PRIVILEGES"