Hướng dẫn access connect mysql - truy cập kết nối mysql

Chuyển đến nội dung chính

Trình duyệt này không còn được hỗ trợ nữa.

Hãy nâng cấp lên Microsoft Edge để tận dụng các tính năng mới nhất, bản cập nhật bảo mật và hỗ trợ kỹ thuật.

Kết nối với MySQL (mysqltosql)

  • Bài viết
  • 03/24/2022
  • 2 Phú

Trong bài viết nào

Sử dụng hộp thoại Kết nối với MySQL để kết nối với cơ sở dữ liệu MySQL mà bạn muốn di chuyển.Connect to MySQL dialog box to connect to the MySQL database that you want to migrate.

Để truy cập hộp thoại này, trên menu Tệp, chọn Kết nối với MySQL. Nếu bạn đã kết nối trước đó, lệnh sẽ kết nối lại với MySQL.File menu, select Connect to MySQL. If you have previously connected, the command is Reconnect to MySQL.

Tùy chọn

Các nhà cung cấp

Nhà cung cấp MySQL có sẵn là trình điều khiển MySQL ODBC 5.1 (đáng tin cậy).

Cách thức

Chế độ mặc định là chế độ tiêu chuẩn. Trong chế độ tiêu chuẩn, bạn nhập hoặc chọn các giá trị cho MySQL, tên máy chủ, cổng máy chủ, tên người dùng và mật khẩu.

Tên máy chủ

Nhập tên máy chủ MySQL. Đây là một tùy chọn chế độ tiêu chuẩn.

Cổng máy chủ

Nhập cổng máy chủ. Cổng máy chủ mặc định là 3306. Đây là tùy chọn chế độ tiêu chuẩn.

Tên tài khoản

Nhập tên người dùng mà SSMA sẽ sử dụng để kết nối với cơ sở dữ liệu MySQL.

Mật khẩu

Nhập mật khẩu cho tên người dùng.

SSL

Nếu bạn muốn kết nối an toàn với MySQL, hãy sử dụng Lớp ổ cắm an toàn (SSL) bằng cách kiểm tra hộp kiểm SSL.SSL checkbox.

Cấu hình

Nó cung cấp một tùy chọn để định cấu hình kết nối với MySQL thông qua Lớp ổ cắm an toàn (SSL).

Ghi chú

Để bật cấu hình, SSL phải được đặt thành true.Configure, SSL must be set to True.

Khi nhấp vào nút "Định cấu hình", hộp thoại xuất hiện. Để sử dụng mã hóa trong khi kết nối với cơ sở dữ liệu MySQL, đường dẫn đến ba tệp chứng chỉ sau đây có trong hộp thoại-hộp thoại phải được xác định [chứng chỉ thư được nâng cao quyền riêng tư (PEM)]:

  • Cơ quan chứng chỉ SSL: Chỉ định đường dẫn đến tệp có danh sách SSL CAS '. Specifies the path to a file with a list of trust SSL CAs'.

  • Chứng chỉ SSL: Chỉ định tên của tệp chứng chỉ SSL để sử dụng để thiết lập kết nối an toàn. Specifies the name of the SSL certificate file to use for establishing a secure connection.

  • Khóa SSL: Chỉ định tên của tệp khóa SSL để sử dụng để thiết lập kết nối an toàn. Specifies the name of the SSL key file to use for establishing a secure connection.

Ghi chú

  • Để bật cấu hình, SSL phải được đặt thành true.OK button is enabled when the required information has been provided. If any of the file paths are invalid, the "OK" button will remain disabled.
  • Khi nhấp vào nút "Định cấu hình", hộp thoại xuất hiện. Để sử dụng mã hóa trong khi kết nối với cơ sở dữ liệu MySQL, đường dẫn đến ba tệp chứng chỉ sau đây có trong hộp thoại-hộp thoại phải được xác định [chứng chỉ thư được nâng cao quyền riêng tư (PEM)]:Cancel button closes the dialog box and turns off the SSL option from the main Connection Form.

6.2.6 & NBSP; Kiểm soát truy cập, Giai đoạn 1: Xác minh kết nối

Khi bạn cố gắng kết nối với máy chủ MySQL, máy chủ sẽ chấp nhận hoặc từ chối kết nối dựa trên các điều kiện này:

  • Danh tính của bạn và liệu bạn có thể xác minh nó bằng cách cung cấp thông tin phù hợp.

  • Cho dù tài khoản của bạn bị khóa hoặc mở khóa.

Máy chủ kiểm tra thông tin đăng nhập trước, sau đó là trạng thái khóa tài khoản. Một thất bại ở một trong hai bước khiến máy chủ từ chối hoàn toàn quyền truy cập cho bạn. Mặt khác, máy chủ chấp nhận kết nối và sau đó vào Giai đoạn 2 và chờ yêu cầu.

Máy chủ thực hiện nhận dạng và thông tin đăng nhập bằng cách sử dụng các cột trong bảng user, chỉ chấp nhận kết nối nếu các điều kiện này được thỏa mãn:

  • Tên máy chủ khách hàng và tên người dùng khớp với các cột Host

    CREATE USER 'user_name'@'192.0.2.21/8';
    CREATE USER 'user_name'@'198.51.100.44/16';
    0 trong một số hàng bảng user. Đối với các quy tắc điều chỉnh các giá trị cho phép Host
    CREATE USER 'user_name'@'192.0.2.21/8';
    CREATE USER 'user_name'@'198.51.100.44/16';
    0, xem Phần & NBSP; 6.2.4, Chỉ định tên tài khoản.

  • Máy khách cung cấp thông tin đăng nhập được chỉ định trong hàng (ví dụ: mật khẩu), như được chỉ ra bởi cột

    CREATE USER 'user_name'@'192.0.2.21/8';
    CREATE USER 'user_name'@'198.51.100.44/16';
    4. Thông tin xác thực được giải thích bằng cách sử dụng plugin xác thực có tên trong cột
    CREATE USER 'user_name'@'192.0.2.21/8';
    CREATE USER 'user_name'@'198.51.100.44/16';
    5.

  • Hàng chỉ ra rằng tài khoản được mở khóa. Trạng thái khóa được ghi lại trong cột

    CREATE USER 'user_name'@'192.0.2.21/8';
    CREATE USER 'user_name'@'198.51.100.44/16';
    6, phải có giá trị
    CREATE USER 'user_name'@'192.0.2.21/8';
    CREATE USER 'user_name'@'198.51.100.44/16';
    7. Khóa tài khoản có thể được đặt hoặc thay đổi với câu lệnh
    CREATE USER 'user_name'@'192.0.2.21/8';
    CREATE USER 'user_name'@'198.51.100.44/16';
    8 hoặc
    CREATE USER 'user_name'@'192.0.2.21/8';
    CREATE USER 'user_name'@'198.51.100.44/16';
    9.

Danh tính của bạn dựa trên hai mẩu thông tin:

  • Tên người dùng MySQL của bạn.

  • Máy chủ khách hàng mà bạn kết nối.

Nếu giá trị cột ____1010 không phải là không có, tên người dùng trong kết nối đến phải khớp chính xác. Nếu giá trị

CREATE USER 'user_name'@'192.0.2.21/8';
CREATE USER 'user_name'@'198.51.100.44/16';
0 trống, nó phù hợp với bất kỳ tên người dùng nào. Nếu hàng bảng user khớp với kết nối đến có tên người dùng trống, người dùng được coi là người dùng ẩn danh không có tên, không phải người dùng có tên mà máy khách thực sự chỉ định. Điều này có nghĩa là một tên người dùng trống được sử dụng để kiểm tra truy cập thêm trong thời gian kết nối (nghĩa là trong giai đoạn 2).

Cột

CREATE USER 'user_name'@'192.0.2.21/8';
CREATE USER 'user_name'@'198.51.100.44/16';
4 có thể trống. Đây không phải là ký tự đại diện và không có nghĩa là bất kỳ mật khẩu nào khớp. Điều đó có nghĩa là người dùng phải kết nối mà không cần chỉ định mật khẩu. Phương thức xác thực được thực hiện bởi plugin xác thực máy khách có thể hoặc không thể sử dụng mật khẩu trong cột
CREATE USER 'user_name'@'192.0.2.21/8';
CREATE USER 'user_name'@'198.51.100.44/16';
4. Trong trường hợp này, có thể mật khẩu bên ngoài cũng được sử dụng để xác thực với máy chủ MySQL.

Các giá trị mật khẩu không được lưu trữ trong cột

CREATE USER 'user_name'@'192.0.2.21/8';
CREATE USER 'user_name'@'198.51.100.44/16';
4 của bảng user được mã hóa. MySQL không lưu trữ mật khẩu như Cleartext cho bất cứ ai xem. Thay vào đó, mật khẩu được cung cấp bởi người dùng đang cố gắng kết nối được mã hóa (sử dụng phương thức băm mật khẩu được thực hiện bởi plugin xác thực tài khoản). Mật khẩu được mã hóa sau đó được sử dụng trong quá trình kết nối khi kiểm tra xem mật khẩu có chính xác không. Điều này được thực hiện mà không có mật khẩu được mã hóa bao giờ đi qua kết nối. Xem Phần & NBSP; 6.2.1, tên người dùng tài khoản và mật khẩu.

Từ quan điểm của MySQL, mật khẩu được mã hóa là mật khẩu thực, vì vậy bạn không bao giờ nên cung cấp cho bất kỳ ai truy cập vào nó. Cụ thể, không cung cấp cho người dùng không quản lý đọc quyền truy cập vào các bảng trong cơ sở dữ liệu hệ thống

CREATE USER 'user_name'@'192.0.2.0/255.255.255.0';
CREATE USER 'user_name'@'198.51.0.0/255.255.0.0';
7.real password, so you should never give anyone access to it. In particular, do not give nonadministrative users read access to tables in the
CREATE USER 'user_name'@'192.0.2.0/255.255.255.0';
CREATE USER 'user_name'@'198.51.0.0/255.255.0.0';
7 system database
.

Bảng sau đây cho thấy các kết hợp khác nhau của các giá trị ____10 và Host trong bảng user áp dụng cho các kết nối đến.

Giá trị
CREATE USER 'user_name'@'192.0.2.21/8';
CREATE USER 'user_name'@'198.51.100.44/16';
0
Giá trị HostKết nối cho phép
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
3
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
4
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
5, kết nối từ
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
6
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
7
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
4
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
5, kết nối từ
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
6
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
3
Bất kỳ người dùng nào, kết nối từ
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
6
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| localhost | root     | ...
| localhost |          | ...
| %         | jeffrey  | ...
| %         | root     | ...
+-----------+----------+-
1
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
7
Bất kỳ người dùng nào, kết nối từ
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
6
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| localhost | root     | ...
| localhost |          | ...
| %         | jeffrey  | ...
| %         | root     | ...
+-----------+----------+-
1
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
3
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
5, kết nối từ bất kỳ máy chủ nào
Bất kỳ người dùng nào, kết nối từ bất kỳ máy chủ nào
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
3
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| localhost | root     | ...
| localhost |          | ...
| %         | jeffrey  | ...
| %         | root     | ...
+-----------+----------+-
6
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
5, kết nối từ bất kỳ máy chủ nào trong miền
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| localhost | root     | ...
| localhost |          | ...
| %         | jeffrey  | ...
| %         | root     | ...
+-----------+----------+-
8
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
3
+----------------+----------+-
| Host           | User     | ...
+----------------+----------+-
| %              | jeffrey  | ...
| h2.example.net |          | ...
+----------------+----------+-
0
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
5, kết nối từ
+----------------+----------+-
| Host           | User     | ...
+----------------+----------+-
| %              | jeffrey  | ...
| h2.example.net |          | ...
+----------------+----------+-
2,
+----------------+----------+-
| Host           | User     | ...
+----------------+----------+-
| %              | jeffrey  | ...
| h2.example.net |          | ...
+----------------+----------+-
3,
+----------------+----------+-
| Host           | User     | ...
+----------------+----------+-
| %              | jeffrey  | ...
| h2.example.net |          | ...
+----------------+----------+-
4, v.v. Điều này có lẽ không hữu ích
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
3
+----------------+----------+-
| Host           | User     | ...
+----------------+----------+-
| %              | jeffrey  | ...
| h2.example.net |          | ...
+----------------+----------+-
6
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
5, kết nối từ máy chủ với địa chỉ IP
+----------------+----------+-
| Host           | User     | ...
+----------------+----------+-
| %              | jeffrey  | ...
| h2.example.net |          | ...
+----------------+----------+-
8
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
3
+----------------+----------+-
| Host           | User     | ...
+----------------+----------+-
| h2.example.net |          | ...
| %              | jeffrey  | ...
+----------------+----------+-
0
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
5, kết nối từ bất kỳ máy chủ nào trong mạng con
+----------------+----------+-
| Host           | User     | ...
+----------------+----------+-
| h2.example.net |          | ...
| %              | jeffrey  | ...
+----------------+----------+-
2 class C

+----------------+----------+-
| Host           | User     | ...
+----------------+----------+-
| h2.example.net |          | ...
| %              | jeffrey  | ...
+----------------+----------+-
4

Giống như ví dụ trước

  • Bất cứ khi nào máy chủ đọc bảng user vào bộ nhớ, nó sẽ sắp xếp các hàng.

  • Khi một khách hàng cố gắng kết nối, máy chủ nhìn qua các hàng theo thứ tự được sắp xếp.

  • Máy chủ sử dụng hàng đầu tiên phù hợp với tên máy chủ và tên người dùng máy khách.

Máy chủ sử dụng các quy tắc sắp xếp các hàng đặt hàng với các giá trị Host cụ thể nhất trước tiên:

  • Địa chỉ IP theo nghĩa đen và tên máy chủ là cụ thể nhất.

  • Trước MySQL 8.0.23, tính đặc hiệu của địa chỉ IP theo nghĩa đen không bị ảnh hưởng bởi việc liệu nó có netmask hay không, do đó

    mysql> SELECT CURRENT_USER();
    +----------------+
    | CURRENT_USER() |
    +----------------+
    | @localhost     |
    +----------------+
    0 và
    mysql> SELECT CURRENT_USER();
    +----------------+
    | CURRENT_USER() |
    +----------------+
    | @localhost     |
    +----------------+
    1 được coi là cụ thể như nhau. Kể từ MySQL 8.0.23, các tài khoản có địa chỉ IP trong phần máy chủ có thứ tự cụ thể này:

    • Các tài khoản có phần máy chủ được cung cấp dưới dạng địa chỉ IP:

      CREATE USER 'user_name'@'127.0.0.1';
      CREATE USER 'user_name'@'198.51.100.44';
    • Các tài khoản có phần máy chủ được đưa ra làm địa chỉ IP bằng ký hiệu CIDR:

      CREATE USER 'user_name'@'192.0.2.21/8';
      CREATE USER 'user_name'@'198.51.100.44/16';
    • Các tài khoản có phần máy chủ được cung cấp dưới dạng địa chỉ IP với mặt nạ mạng con:

      CREATE USER 'user_name'@'192.0.2.0/255.255.255.0';
      CREATE USER 'user_name'@'198.51.0.0/255.255.0.0';

  • Mẫu

    +-----------+----------+-
    | Host      | User     | ...
    +-----------+----------+-
    | localhost | root     | ...
    | localhost |          | ...
    | %         | jeffrey  | ...
    | %         | root     | ...
    +-----------+----------+-
    1 có nghĩa là bất kỳ máy chủ nào và ít cụ thể nhất.any host and is least specific.

  • Chuỗi trống

    +-----------+----------+-
    | Host      | User     | ...
    +-----------+----------+-
    | %         | root     | ...
    | %         | jeffrey  | ...
    | localhost | root     | ...
    | localhost |          | ...
    +-----------+----------+-
    7 cũng có nghĩa là bất kỳ máy chủ nào nhưng sắp xếp sau
    +-----------+----------+-
    | Host      | User     | ...
    +-----------+----------+-
    | localhost | root     | ...
    | localhost |          | ...
    | %         | jeffrey  | ...
    | %         | root     | ...
    +-----------+----------+-
    1.any host but sorts after
    +-----------+----------+-
    | Host      | User     | ...
    +-----------+----------+-
    | localhost | root     | ...
    | localhost |          | ...
    | %         | jeffrey  | ...
    | %         | root     | ...
    +-----------+----------+-
    1.

Các kết nối không phải là TCP (tệp ổ cắm, đường ống được đặt tên và bộ nhớ chia sẻ) được coi là kết nối cục bộ và khớp với phần máy chủ của

mysql> SELECT CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| @localhost     |
+----------------+
5 nếu có bất kỳ tài khoản nào như vậy hoặc các bộ phận máy chủ có ký tự đại diện phù hợp với
mysql> SELECT CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| @localhost     |
+----------------+
5 (ví dụ:
mysql> SELECT CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| @localhost     |
+----------------+
7,
mysql> SELECT CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| @localhost     |
+----------------+
8 ,
mysql> SELECT CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| @localhost     |
+----------------+
9).

Các hàng có cùng giá trị Host được đặt hàng với các giá trị

CREATE USER 'user_name'@'192.0.2.21/8';
CREATE USER 'user_name'@'198.51.100.44/16';
0 cụ thể nhất trước tiên. Giá trị
CREATE USER 'user_name'@'192.0.2.21/8';
CREATE USER 'user_name'@'198.51.100.44/16';
0 trống có nghĩa là bất kỳ người dùng nào và ít cụ thể nhất, vì vậy đối với các hàng có cùng giá trị ____99, người dùng không ẩn danh sắp xếp trước người dùng ẩn danh.any user and is least specific, so for rows with the same Host value, nonanonymous users sort before anonymous users.

Đối với các hàng có các giá trị Host

CREATE USER 'user_name'@'192.0.2.21/8';
CREATE USER 'user_name'@'198.51.100.44/16';
0 đặc trưng như nhau, thứ tự là không có tính xác định.

Để xem nó hoạt động như thế nào, giả sử rằng bảng user trông như thế này:

+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-

Khi máy chủ đọc bảng vào bộ nhớ, nó sẽ sắp xếp các hàng bằng các quy tắc vừa mô tả. Kết quả sau khi phân loại có vẻ như sau:

+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| localhost | root     | ...
| localhost |          | ...
| %         | jeffrey  | ...
| %         | root     | ...
+-----------+----------+-

Khi khách hàng cố gắng kết nối, máy chủ sẽ xem qua các hàng được sắp xếp và sử dụng trận đấu đầu tiên được tìm thấy. Đối với kết nối từ

mysql> SELECT CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| @localhost     |
+----------------+
5 bằng user8, hai trong số các hàng từ bảng khớp: giá trị có giá trị Host
CREATE USER 'user_name'@'192.0.2.21/8';
CREATE USER 'user_name'@'198.51.100.44/16';
0 của Host1 và
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
7, và một giá trị có giá trị
+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| localhost | root     | ...
| localhost |          | ...
| %         | jeffrey  | ...
| %         | root     | ...
+-----------+----------+-
1 và Host4. Hàng Host1 xuất hiện đầu tiên theo thứ tự được sắp xếp, vì vậy đó là hàng mà máy chủ sử dụng.

Đây là một ví dụ khác. Giả sử rằng bảng user trông như thế này:

+----------------+----------+-
| Host           | User     | ...
+----------------+----------+-
| %              | jeffrey  | ...
| h2.example.net |          | ...
+----------------+----------+-

Bảng được sắp xếp trông như thế này:

+----------------+----------+-
| Host           | User     | ...
+----------------+----------+-
| h2.example.net |          | ...
| %              | jeffrey  | ...
+----------------+----------+-

Hàng đầu tiên khớp với kết nối của bất kỳ người dùng nào từ

+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
6, trong khi hàng thứ hai khớp với kết nối bằng user8 từ bất kỳ máy chủ nào.

Ghi chú

Đó là một quan niệm sai lầm phổ biến khi nghĩ rằng, đối với một tên người dùng nhất định, tất cả các hàng có tên rõ ràng là người dùng được sử dụng trước tiên khi máy chủ cố gắng tìm một khớp cho kết nối. Đây không phải là sự thật. Ví dụ trước minh họa điều này, trong đó kết nối từ

+-----------+----------+-
| Host      | User     | ...
+-----------+----------+-
| %         | root     | ...
| %         | jeffrey  | ...
| localhost | root     | ...
| localhost |          | ...
+-----------+----------+-
6 bởi user8 lần đầu tiên được khớp không phải bởi hàng chứa Host4 dưới dạng giá trị cột ____1010, mà theo hàng không có tên người dùng. Do đó, user8 được xác thực như một người dùng ẩn danh, mặc dù anh ta đã chỉ định tên người dùng khi kết nối.

Nếu bạn có thể kết nối với máy chủ, nhưng các đặc quyền của bạn không phải là những gì bạn mong đợi, có lẽ bạn đang được xác thực như một số tài khoản khác. Để tìm hiểu tài khoản nào mà máy chủ đã sử dụng để xác thực bạn, hãy sử dụng chức năng

CREATE USER 'user_name'@'192.0.2.21/8';
CREATE USER 'user_name'@'198.51.100.44/16';
04. . Giả sử rằng user8 kết nối và đưa ra truy vấn sau:

mysql> SELECT CURRENT_USER();
+----------------+
| CURRENT_USER() |
+----------------+
| @localhost     |
+----------------+

Kết quả hiển thị ở đây chỉ ra rằng hàng bảng user phù hợp có giá trị cột

CREATE USER 'user_name'@'192.0.2.21/8';
CREATE USER 'user_name'@'198.51.100.44/16';
0 trống. Nói cách khác, máy chủ đang coi user8 là một người dùng ẩn danh.

Một cách khác để chẩn đoán các vấn đề xác thực là in ra bảng user và sắp xếp nó bằng tay để xem trận đấu đầu tiên được thực hiện ở đâu.