#

Show user MySQL – 4 cách hiển thị người dùng trong MySQL

 24/05/2022 - 10:19 Trịnh Duy Thanh

hien thi user trong mysql

Nhiều người khi sử dụng MySQL đều mong muốn có thể hiển thị tất cả các user trong cơ sở dữ liệu. Trong đó, một số người đã cho rằng MySQL có nút lệnh hoặc chức năng có thể thực hiện điều này.

Tuy nhiên, hiện nay MySQL chưa được tích hợp chức năng này. Mặc dù vậy, vẫn có một số cách có thể hiển thị được danh sách người dùng. Trong bài viết dưới đây BKHOST sẽ cùng bạn tìm hiểu các bước để liệt kê người dùng trong MySQL.

Dịch vụ Cloud VPS tiêu chuẩn quốc tế

BKHOST đang có chương trình khuyến mãi cực shock dành cho khách hàng đăng ký dịch vụ Cloud VPS Pro:

  • Giảm giá lên đến 30%.
  • Giá chỉ từ 125k/tháng.
  • Tặng thêm 512MB Ram khi đăng kí từ 12 tháng trở lên.

Đăng ký ngay:

thuê máy chủ vps

Đăng nhập vào máy chủ MySQL với quyền root

Đầu tiên, người dùng cần đăng nhập vào máy chủ MySQL với quyền root. Root có thể được hiểu là siêu người dùng, cụ thể, đó là người có quyền hạn truy cập vào mọi tệp tin hoặc lệnh trên máy chủ. Để đăng nhập, bạn cần thực hiện lệnh “mysql -u root -p” và nhập mật khẩu. Nếu bạn không có đặt mật khẩu trước đó thì chỉ cần nhấn Enter là đăng nhập được vào tài khoản.

Cách hiển thị người dùng bằng câu lệnh trong MySQL

Bước tiếp theo, bạn cần truy vấn bảng người dùng (User table) để hiển thị tất cả user bằng lệnh sau:

SELECT User, Host, Password FROM mysql.user;

Sau đó, kết quả hiển thị sẽ tương tự như sau.

+------------------+--------------+--------------+
| user | host | password |
+------------------+--------------+--------------+
| root | localhost | 37as%#8123fs |
| debian-test-user | localhost | HmBEqPjC5Y |
| johnsm | localhost | |
| brian | localhost | |
| root | 111.111.111.1| |
| guest | % | |
| adrianr | 10.11.12.13 | RFsgY6aiVg |
+------------------+--------------+--------------+
7 rows in set (0.01 sec)

Bạn có thể thêm hoặc loại bỏ các cột tùy ý. Để lấy cột User, bạn có thể sử dụng lệnh sau:

SELECT User FROM mysql.user;

Còn một cách khác để thực hiện việc này là sử dụng ký tự “*” kết hợp với câu lệnh sau:

SELECT * FROM mysql.user;

Trong MySQL, hệ thống có rất nhiều trường nên bạn không thể đọc hết tất cả dữ liệu của các trường này. Vì vậy, người dùng cần chỉ định ra các cột nhất định để phục vụ cho công việc của mình.

Hiển thị tên người dùng duy nhất trong cơ sở dữ liệu

Khi hiển thị dữ liệu, tên của một người dùng khi ở nhiều máy chủ khác nhau sẽ được hiển thị nhiều lần. Vì các tài khoản này đều cùng một người nên sẽ làm quá trình trích xuất dữ liệu trở nên lộn xộn. Do đó, để những tên này chỉ xuất hiện một lần, bạn hãy thực hiện câu lệnh sau

SELECT DISTINCT User FROM mysql.user;

Kết quả sẽ hiển thị như bên dưới:

+------------------+
| user |
+------------------+
| root |
| debian-test-user |
| johnsm |
| brian |
| guest |
| adrianr |
+------------------+
6 rows in set (0.01 sec)

Hiển thị bảng thông tin người dùng

Cơ sở dữ liệu sẽ có nhiều trường giúp xem các thuộc tính của người dùng. Để xem được các trường mà máy chủ có thể hỗ trợ, bạn hãy sử dụng lệnh sau:

mysql> desc mysql.user;

Kết quả hệ thống sẽ hiển thị như sau:

+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Field | Type | Null | Key | Default | Extra |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
| Host | char(60) | NO | PRI | | |
| User | char(16) | NO | PRI | | |
| Password | char(41) | NO | | | |
| Select_priv | enum('N','Y') | NO | | N | |
| Insert_priv | enum('N','Y') | NO | | N | |
| Update_priv | enum('N','Y') | NO | | N | |
| Delete_priv | enum('N','Y') | NO | | N | |
| Create_priv | enum('N','Y') | NO | | N | |
| Drop_priv | enum('N','Y') | NO | | N | |
| Reload_priv | enum('N','Y') | NO | | N | |
| Shutdown_priv | enum('N','Y') | NO | | N | |
| Process_priv | enum('N','Y') | NO | | N | |
| File_priv | enum('N','Y') | NO | | N | |
| Grant_priv | enum('N','Y') | NO | | N | |
| References_priv | enum('N','Y') | NO | | N | |
| Index_priv | enum('N','Y') | NO | | N | |
| Alter_priv | enum('N','Y') | NO | | N | |
| Show_db_priv | enum('N','Y') | NO | | N | |
| Super_priv | enum('N','Y') | NO | | N | |
| Create_tmp_table_priv | enum('N','Y') | NO | | N | |
| Lock_tables_priv | enum('N','Y') | NO | | N | |
| Execute_priv | enum('N','Y') | NO | | N | |
| Repl_slave_priv | enum('N','Y') | NO | | N | |
| Repl_client_priv | enum('N','Y') | NO | | N | |
| Create_view_priv | enum('N','Y') | NO | | N | |
| Show_view_priv | enum('N','Y') | NO | | N | |
| Create_routine_priv | enum('N','Y') | NO | | N | |
| Alter_routine_priv | enum('N','Y') | NO | | N | |
| Create_user_priv | enum('N','Y') | NO | | N | |
| Event_priv | enum('N','Y') | NO | | N | |
| Trigger_priv | enum('N','Y') | NO | | N | |
| Create_tablespace_priv | enum('N','Y') | NO | | N | |
| ssl_type | enum('','ANY','X509','SPECIFIED') | NO | | | |
| ssl_cipher | blob | NO | | NULL | |
| x509_issuer | blob | NO | | NULL | |
| x509_subject | blob | NO | | NULL | |
| max_questions | int(11) unsigned | NO | | 0 | |
| max_updates | int(11) unsigned | NO | | 0 | |
| max_connections | int(11) unsigned | NO | | 0 | |
| max_user_connections | int(11) unsigned | NO | | 0 | |
| plugin | char(64) | YES | | mysql_native_password | |
| authentication_string | text | YES | | NULL | |
| password_expired | enum('N','Y') | NO | | N | |
+------------------------+-----------------------------------+------+-----+-----------------------+-------+
43 rows in set (0.00 sec)

Lúc này bạn có thể kết hợp tìm kiếm các trường dữ liệu bằng cách kết hợp với câu lệnh chọn. Ví dụ xem trường Update_priv, bạn hãy chạy lệnh sau:

SELECT User, Update_priv FROM mysql.user;

Nếu muốn tìm kiếm trường khác thì thay Update_priv bằng các trường khác là được.

Hiển thị những người dùng hiện tại trong cơ sở dữ liệu MySQL

Cuối cùng, bạn có thể sử dụng hàm tích hợp user() để xem thông tin tên user và máy chủ của user mà bạn dùng để đăng nhập vào MySQL. Kết quả trả về sẽ là các thông tin của user hiện tại đang chạy truy vấn trong cơ sở dữ liệu MySQL.

SELECT user();

Tổng kết về show user MySQL

Thông qua bài viết, BKHOST đã hướng dẫn bạn cách liệt kê thông tin các user trong cơ sở dữ liệu MySQL. Mong rằng những thông tin trong bài viết sẽ hỗ trợ bạn thực hiện quản lý cơ sở dữ liệu tốt hơn với nền tảng này.

Nếu bạn còn gì thắc mắc về cách làm việc trong MySQL, hãy để lại bình luận ở bên dưới, BKHOST sẽ trả lời bạn trong thời gian sớm nhất.

P/s: Bạn cũng có thể truy cập vào Blog của BKHOST để đọc thêm các bài viết chia sẻ kiến thức về lập trình, quản trị mạng, website, domain, hosting, vps, server, email,… Chúc bạn thành công.

Đăng ký dịch vụ Email Google Workspace

BKHOST là đối tác chính thức của Google phân phối dịch vụ Google Workspace. Các gói Email Google WorkSpace được BKHOST thiết kếnhằm tối ưu dung lượng lưu trữ cho khách hàng:

  • Business starter – 30GB/user.
  • Business standard – 2TB/user.
  • Business plus – 5TB/user.

Rất nhiều chương trình khuyến mãi hấp dẫn đang chờ bạn.

Đăng ký ngay:

dịch vụ g suite

Tôi là Trịnh Duy Thanh, CEO & Founder Công ty Cổ Phần Giải Pháp Mạng Trực Tuyến Việt Nam - BKHOST. Với sứ mệnh mang tới các dịch vụ trên Internet tốt nhất cho các cá nhân và doanh nghiệp trong nước và quốc tế, tôi luôn nỗ lực hết mình nâng cấp đầu tư hệ thống phần cứng, nâng cao chất lượng dịch vụ chăm sóc khách hàng để đem đến những sản phẩm hoàn hảo nhất cho người tiêu dùng. Vì vậy, tôi tin tưởng sẽ đem đến các giải pháp CNTT mới nhất, tối ưu nhất, hiệu quả nhất và chi phí hợp lý nhất cho tất cả các doanh nghiệp.
Bình luận

Thanh toán linh hoạt

Chúng tôi chấp nhận thanh toán như ATM, Visa, Internet Banking, Paypal, Baokim, Ngân lượng

Gọi ĐT tư vấn ngay
Chat ngay qua Zalo
Chat ngay qua Messenger