SQL-13A: Ràng buộc FOREIGN KEY trong SQL Server
Mục lục:
- Trước khi bắt đầu
- Hiển thị tất cả người dùng MySQL
- Hiển thị người dùng có quyền truy cập vào cơ sở dữ liệu cụ thể
- Phần kết luận
Bạn đã bao giờ cần để có được một danh sách tất cả người dùng trong máy chủ MySQL của bạn chưa? Có các lệnh để hiển thị cơ sở dữ liệu và bảng, nhưng không có lệnh
show users
MySQL.
Hướng dẫn này giải thích cách liệt kê tất cả các tài khoản người dùng trong máy chủ cơ sở dữ liệu MySQL thông qua dòng lệnh. Chúng tôi cũng sẽ chỉ cho bạn cách tìm ra người dùng nào có quyền truy cập vào cơ sở dữ liệu nhất định.
Trước khi bắt đầu
Chúng tôi giả định rằng bạn đã cài đặt máy chủ MySQL hoặc MariaDB trên hệ thống của mình.
Tất cả các lệnh được thực thi bên trong shell MySQL với tư cách là người dùng root. Để truy cập shell MySQL, gõ lệnh sau và nhập mật khẩu người dùng root MySQL của bạn khi được nhắc:
mysql -u root -p
Nếu bạn quên mật khẩu root MySQL, bạn có thể đặt lại bằng cách làm theo các hướng dẫn sau.
Hiển thị tất cả người dùng MySQL
MySQL lưu trữ thông tin về người dùng trong một bảng có tên
user
trong cơ sở dữ liệu
mysql
.
Để có danh sách tất cả các tài khoản người dùng MySQL, hãy sử dụng
SELECT
để truy xuất tất cả các hàng từ bảng
mysql.users
:
SELECT User, Host FROM mysql.user;
Đầu ra sẽ trông tương tự như dưới đây:
+------------------+-----------+ | user | host | +------------------+-----------+ | root | localhost | | luke | % | | yoda | % | | jabba | 10.10.0.6 | | jabba | 10.10.0.9 | | chewbacca | localhost | | leia | localhost | | han | localhost | +------------------+-----------+ 8 rows in set (0.00 sec)
Lệnh trên chỉ hiển thị hai cột từ bảng
mysql.user
(
User
và
Host
), Bảng này chứa hơn 40 cột như
Password
,
Select_priv
,
Update_priv
, v.v.
Sử dụng
desc mysql.user;
tuyên bố để hiển thị thông tin về các cột của bảng. Khi bạn biết tên cột, bạn có thể chạy truy vấn đối với dữ liệu đã chọn.
Ví dụ: để có danh sách tất cả các tài khoản người dùng MySQL bao gồm thông tin về mật khẩu và liệu nó đang hoạt động hay đã hết hạn, bạn sẽ sử dụng truy vấn sau:
SELECT User, Host, Password, password_expired FROM mysql.user;
+----------------+-----------+-------------------------------------------+------------------+ | User | Host | Password | password_expired | +----------------+-----------+-------------------------------------------+------------------+ | root | localhost | | N | | luke | % | *ADC3B5B27617732CD6320A2DA976258E149A7EC8 | N | | yoda | % | *9550E004046348198A143A115550E1262209FB6F | N | | jabba | 10.10.0.6 | *F91C86B486B945C083B61A05FF6E197560D187EC | Y | | jabba | 10.10.0.9 | | Y | | chewbacca | localhost | *17F2B1E48029294841AD66772BEBB7E6E6A005AF | N | | leia | localhost | *74409C8DB55AC1A6829D801915981C46EDBFC64A | N | | han | localhost | *7B3022FCAEC3534CE67C68322D8AF0C240D95745 | N | +----------------+-----------+-------------------------------------------+------------------+ 8 rows in set (0.00 sec)
Hiển thị người dùng có quyền truy cập vào cơ sở dữ liệu cụ thể
Thông tin về các đặc quyền cấp cơ sở dữ liệu được lưu trữ trong bảng
mysql.db
.
Bạn có thể truy vấn bảng để tìm ra người dùng nào có quyền truy cập vào cơ sở dữ liệu nhất định và mức độ đặc quyền.
Ví dụ: để có được danh sách tất cả người dùng có quyền truy cập cấp độ vào cơ sở dữ liệu có tên
db_name
bạn sẽ sử dụng truy vấn sau:
SELECT * FROM mysql.db WHERE Db = 'db_name'\G;
*************************** 1. row *************************** Host: localhost Db: db_name User: db_user Select_priv: Y Insert_priv: Y Update_priv: Y Delete_priv: Y Create_priv: Y Drop_priv: Y Grant_priv: N References_priv: Y Index_priv: Y Alter_priv: Y Create_tmp_table_priv: Y Lock_tables_priv: Y Create_view_priv: Y Show_view_priv: Y Create_routine_priv: Y Alter_routine_priv: Y Execute_priv: Y Event_priv: Y Trigger_priv: Y 1 row in set (0.00 sec)
Để chỉ tìm nạp thông tin về các tài khoản người dùng có quyền truy cập vào cơ sở dữ liệu nhất định mà không hiển thị các đặc quyền sử dụng:
SELECT db, host, user FROM mysql.db WHERE db = 'db_name'
+---------+-----------+---------+ | db | host | user | +---------+-----------+---------+ | db_name | localhost | db_user | +---------+-----------+---------+
Truy vấn sau đây sẽ cho bạn thấy thông tin về tất cả các cơ sở dữ liệu và người dùng được liên kết:
SELECT db, host, user FROM mysql.db WHERE db = 'db_name'
+------------------+-----------+-----------+ | db | host | user | +------------------+-----------+-----------+ | db_name | localhost | db_user | | ghost_production | localhost | chewbacca | | blog_db | localhost | leia | | linuxize | localhost | han | +------------------+-----------+-----------+
Phần kết luận
Trong hướng dẫn này, chúng tôi đã chỉ ra cách lấy danh sách tất cả người dùng MySQL và tìm ra người dùng nào có quyền truy cập vào cơ sở dữ liệu cụ thể.
Hãy để lại nhận xét nếu bạn có bất kỳ câu hỏi nào.
mysia mariadbNgười dùng MySQL có thể điều tra hiệu suất truy vấn kém thông qua đăng nhập" truy vấn chậm "của cơ sở dữ liệu, Rob Young, quản lý sản phẩm cao cấp cho MySQL Enterprise, một nhà phân tích cho biết công cụ này là sự bổ sung đáng hoan nghênh cho dịch vụ, nhưng không phải là đột phá ". một trong nhiều cách mà MySQL đang chơi Curt Monash, người sáng lập của Monash Research, thông qua e-mail, đã bắt kịp với các sản phẩm DBMS trưởng thành hơn. Công cụ này đã được tích hợp với MySQL Enter
Các dịch vụ cập nhật dự kiến sẽ có sẵn trong vòng một tháng. Mức giá dao động từ US $ 599 đến $ 4,
"Bỏ chọn" Hiển thị bạn bè của tôi trên tiểu sử của tôi 'sẽ ngăn Danh sách bạn bè của bạn xuất hiện trong tiểu sử của bạn. Khi người dùng đã đăng nhập vào Facebook, hãy lưu ý rằng vì Danh sách bạn bè có sẵn công khai, nó sẽ hiển thị với những người đang xem hồ sơ của bạn trong khi không đăng nhập. "
Danh sách bạn bè bao gồm tất cả mọi người mà người dùng đã" kết bạn "trên dịch vụ, làm cho nó có giá trị cho việc tìm kiếm mối quan hệ giữa người dùng Facebook. Hữu ích khi liên lạc với những người quen bị mất và người thân ở xa, Danh sách bạn bè cũng có thể chứa các mối quan hệ kinh doanh và khách hàng mà người sử dụng lao động hoặc người dùng có thể muốn bảo vệ.
Ghi lại các lô hàng sản phẩm và các vấn đề pháp lý của Intel đã giúp Advanced Micro Devices giành được thị phần đồ họa trong quý II, công ty phân tích thị trường Jon Peddie Research cho biết. vận chuyển các sản phẩm đồ họa với thị phần 54,9 phần trăm trong quý II, tăng từ 51,1 trong quý hai năm ngoái. Tuy nhiên, AMD đã lợi dụng các vấn đề pháp lý của Intel và việc thực hiện sản phẩm yếu của Nvidia để giành thị phần, Jon Peddie, chủ tịch của Jon Peddie Research (JPR) cho biết. Tăng trưởng 7,6% tr
AMD có thể cũng đã giành được những vấn đề pháp lý của Intel.







