Hướng dẫn what is connection string in mysql? - chuỗi kết nối trong mysql là gì?

4.2.5 & nbsp; Kết nối với máy chủ bằng các chuỗi giống như URI hoặc các cặp giá trị khóa

Phần này mô tả việc sử dụng các chuỗi kết nối giống như URI hoặc các cặp giá trị khóa để chỉ định cách thiết lập kết nối với máy chủ MySQL, cho các máy khách như MySQL Shell. Để biết thông tin về việc thiết lập các kết nối bằng cách sử dụng các tùy chọn dòng lệnh, cho các máy khách như MySQL hoặc MySQLDump, xem Phần & NBSP; 4.2.4, Kết nối với máy chủ MySQL bằng các tùy chọn lệnh. Để biết thêm thông tin nếu bạn không thể kết nối, hãy xem Phần & NBSP; 6.2.22, các vấn đề khắc phục sự cố kết nối với MySQL.mysql or mysqldump, see Section 4.2.4, “Connecting to the MySQL Server Using Command Options”. For additional information if you are unable to connect, see Section 6.2.22, “Troubleshooting Problems Connecting to MySQL”.

Ghi chú

Thuật ngữ giống như URI của URI biểu thị cú pháp chuỗi kết nối tương tự nhưng không giống với cú pháp URI (định danh tài nguyên đồng đều) được xác định bởi RFC 3986.URI-like signifies connection-string syntax that is similar to but not identical to the URI (uniform resource identifier) syntax defined by RFC 3986.

Hỗ trợ máy khách MySQL sau đây kết nối với máy chủ MySQL bằng chuỗi kết nối giống URI hoặc các cặp giá trị khóa:

  • Vỏ mysql

  • Các đầu nối MySQL thực hiện X Devapi

Phần này ghi lại tất cả các tham số kết nối cặp có giá trị chính và chuỗi chính hợp lệ, nhiều trong số đó tương tự như các tham số được chỉ định với các tùy chọn dòng lệnh:

  • Các tham số được chỉ định với chuỗi giống URI sử dụng cú pháp như mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false9. Đối với cú pháp đầy đủ, xem kết nối bằng các chuỗi kết nối giống URI.

  • Các tham số được chỉ định với các cặp giá trị khóa sử dụng cú pháp như mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]0. Đối với cú pháp đầy đủ, xem kết nối bằng các cặp giá trị khóa.

Các tham số kết nối không nhạy cảm trường hợp. Mỗi tham số, nếu được chỉ định, chỉ có thể được đưa ra một lần. Nếu một tham số được chỉ định nhiều lần, xảy ra lỗi.

Phần này bao gồm các chủ đề sau:

  • Tham số kết nối cơ sở

  • Tham số kết nối bổ sung

  • Kết nối bằng các chuỗi kết nối giống Uri

  • Kết nối bằng cách sử dụng các cặp giá trị khóa

Tham số kết nối cơ sở

Tham số kết nối bổ sung

  • Kết nối bằng các chuỗi kết nối giống Uri

  • Kết nối bằng cách sử dụng các cặp giá trị khóa

  • Các cuộc thảo luận sau đây mô tả các tham số có sẵn khi chỉ định kết nối với MySQL. Các tham số này có thể được cung cấp bằng cách sử dụng một chuỗi phù hợp với cú pháp giống như URI cơ sở (xem kết nối bằng các chuỗi kết nối giống URI) hoặc làm cặp giá trị khóa (xem kết nối bằng các cặp giá trị khóa).

    mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]1: Giao thức vận chuyển để sử dụng. Sử dụng mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]2 cho các kết nối giao thức X và mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]3 cho các kết nối giao thức MySQL cổ điển. Nếu không có giao thức được chỉ định, máy chủ sẽ cố gắng đoán giao thức. Các đầu nối hỗ trợ DNS SRV có thể sử dụng sơ đồ ____24 (xem các kết nối bằng bản ghi DNS SRV).

    mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]5: Tài khoản người dùng MySQL để cung cấp cho quy trình xác thực.

  • mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]6: Mật khẩu để sử dụng cho quá trình xác thực.

  • Cảnh báo

  • Chỉ định một mật khẩu rõ ràng trong đặc tả kết nối là không an toàn và không được khuyến nghị. Thảo luận sau đó cho thấy làm thế nào để gây ra một lời nhắc tương tác cho mật khẩu xảy ra.

  • mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]7: Máy chủ mà phiên bản máy chủ đang chạy. Giá trị có thể là tên máy chủ, địa chỉ IPv4 hoặc địa chỉ IPv6. Nếu không có máy chủ được chỉ định, mặc định là mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]8.

mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]9: Cổng mạng TCP/IP mà máy chủ MySQL đích đang nghe các kết nối. Nếu không có cổng nào được chỉ định, mặc định là 33060 cho các kết nối giao thức X và 3306 cho các kết nối giao thức MySQL cổ điển.

Tham số kết nối bổ sung

Kết nối bằng các chuỗi kết nối giống Uri

  • Kết nối bằng cách sử dụng các cặp giá trị khóa

    • Các cuộc thảo luận sau đây mô tả các tham số có sẵn khi chỉ định kết nối với MySQL. Các tham số này có thể được cung cấp bằng cách sử dụng một chuỗi phù hợp với cú pháp giống như URI cơ sở (xem kết nối bằng các chuỗi kết nối giống URI) hoặc làm cặp giá trị khóa (xem kết nối bằng các cặp giá trị khóa).

    • mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]1: Giao thức vận chuyển để sử dụng. Sử dụng mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]2 cho các kết nối giao thức X và mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]3 cho các kết nối giao thức MySQL cổ điển. Nếu không có giao thức được chỉ định, máy chủ sẽ cố gắng đoán giao thức. Các đầu nối hỗ trợ DNS SRV có thể sử dụng sơ đồ ____24 (xem các kết nối bằng bản ghi DNS SRV).

    • mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]5: Tài khoản người dùng MySQL để cung cấp cho quy trình xác thực.

    • mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]6: Mật khẩu để sử dụng cho quá trình xác thực.

    • Cảnh báo

    Chỉ định một mật khẩu rõ ràng trong đặc tả kết nối là không an toàn và không được khuyến nghị. Thảo luận sau đó cho thấy làm thế nào để gây ra một lời nhắc tương tác cho mật khẩu xảy ra.

    mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]7: Máy chủ mà phiên bản máy chủ đang chạy. Giá trị có thể là tên máy chủ, địa chỉ IPv4 hoặc địa chỉ IPv6. Nếu không có máy chủ được chỉ định, mặc định là mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]8.

    Để biết thông tin về các chế độ này, hãy xem Mô tả tùy chọn mysql://user_name@localhost:33331 trong các tùy chọn lệnh cho các kết nối được mã hóa.

  • mysql://user_name@localhost:33332: Đường dẫn đến tệp cơ quan chứng chỉ X.509 ở định dạng PEM.

  • mysql://user_name@localhost:33333: Đường dẫn đến thư mục chứa các tệp cơ quan chứng chỉ X.509 ở định dạng PEM.

  • mysql://user_name@localhost:33334: Đường dẫn đến tệp chứng chỉ X.509 ở định dạng PEM.

  • mysql://user_name@localhost:33335: Mật mã mã hóa để sử dụng cho các kết nối sử dụng các giao thức TLS lên qua TLSV1.2.

  • mysql://user_name@localhost:33336: Đường dẫn đến tệp chứa danh sách thu hồi chứng chỉ ở định dạng PEM.

  • mysql://user_name@localhost:33337: Đường dẫn đến thư mục chứa các tệp danh sách thu hồi chứng chỉ ở định dạng PEM.

  • mysql://user_name@localhost:33338: Đường dẫn đến tệp khóa X.509 ở định dạng PEM.

  • mysql://user_name@localhost:33339: Các giao thức TLS được phép cho các kết nối được mã hóa giao thức MySQL cổ điển. Tùy chọn này chỉ được hỗ trợ bởi Shell MySQL. Giá trị của mysql://user_name@localhost:33339 (số ít) là một danh sách phân tách bằng dấu phẩy, ví dụ mysqlx://user_name@server.example.com/ mysqlx://user_name@198.51.100.14:123 mysqlx://user_name@[2001:db8:85a3:8d3:1319:8a2e:370:7348]1. Để biết chi tiết, xem Phần & NBSP; 6.3.2, các giao thức TLS kết nối được mã hóa và mật mã. Tùy chọn này phụ thuộc vào tùy chọn mysqlx://user_name@localhost:330652 không được đặt thành mysqlx://user_name@localhost:330653.

  • mysqlx://user_name@server.example.com/ mysqlx://user_name@198.51.100.14:123 mysqlx://user_name@[2001:db8:85a3:8d3:1319:8a2e:370:7348]4: Các giao thức TLS cho phép cho các kết nối giao thức X được mã hóa. Giá trị của mysqlx://user_name@server.example.com/ mysqlx://user_name@198.51.100.14:123 mysqlx://user_name@[2001:db8:85a3:8d3:1319:8a2e:370:7348]4 (số nhiều) là một mảng như mysqlx://user_name@server.example.com/ mysqlx://user_name@198.51.100.14:123 mysqlx://user_name@[2001:db8:85a3:8d3:1319:8a2e:370:7348]6. Để biết chi tiết, xem Phần & NBSP; 6.3.2, các giao thức TLS kết nối được mã hóa và mật mã. Tùy chọn này phụ thuộc vào tùy chọn mysqlx://user_name@localhost:330652 không được đặt thành mysqlx://user_name@localhost:330653.

  • mysqlx://user_name@server.example.com/ mysqlx://user_name@198.51.100.14:123 mysqlx://user_name@[2001:db8:85a3:8d3:1319:8a2e:370:7348]9: Các bộ mật mã TLS được phép. Giá trị của mysqlx://user_name@server.example.com/ mysqlx://user_name@198.51.100.14:123 mysqlx://user_name@[2001:db8:85a3:8d3:1319:8a2e:370:7348]9 là danh sách các tên bộ mã hóa IANA như được liệt kê tại TLS Ciphersuites. Để biết chi tiết, xem Phần & NBSP; 6.3.2, các giao thức TLS kết nối được mã hóa và mật mã. Tùy chọn này phụ thuộc vào tùy chọn mysqlx://user_name@localhost:330652 không được đặt thành mysqlx://user_name@localhost:330653.

  • mysqlx://user_name@/path%2Fto%2Fsocket.sock mysqlx://user_name@(/path/to/socket.sock)3: Phương thức xác thực để sử dụng cho kết nối. Mặc định là mysqlx://user_name@/path%2Fto%2Fsocket.sock mysqlx://user_name@(/path/to/socket.sock)4, có nghĩa là máy chủ cố gắng đoán. Các phương pháp sau đây được cho phép:

    • mysqlx://user_name@/path%2Fto%2Fsocket.sock mysqlx://user_name@(/path/to/socket.sock)4

    • mysqlx://user_name@/path%2Fto%2Fsocket.sock mysqlx://user_name@(/path/to/socket.sock)6

    • mysqlx://user_name@/path%2Fto%2Fsocket.sock mysqlx://user_name@(/path/to/socket.sock)7

    • mysqlx://user_name@/path%2Fto%2Fsocket.sock mysqlx://user_name@(/path/to/socket.sock)8

    • mysqlx://user_name@/path%2Fto%2Fsocket.sock mysqlx://user_name@(/path/to/socket.sock)9

    • # use 'world' as the default database mysqlx://user_name@198.51.100.1/world # use 'world_x' as the default database, encoding _ as %5F mysqlx://user_name@198.51.100.2:33060/world%5Fx0

    Đối với các kết nối giao thức X, bất kỳ cấu hình mysqlx://user_name@/path%2Fto%2Fsocket.sock mysqlx://user_name@(/path/to/socket.sock)3 nào cũng được ghi đè lên chuỗi các phương thức xác thực này: mysqlx://user_name@/path%2Fto%2Fsocket.sock mysqlx://user_name@(/path/to/socket.sock)6, mysqlx://user_name@/path%2Fto%2Fsocket.sock mysqlx://user_name@(/path/to/socket.sock)7, # use 'world' as the default database mysqlx://user_name@198.51.100.1/world # use 'world_x' as the default database, encoding _ as %5F mysqlx://user_name@198.51.100.2:33060/world%5Fx0.

  • # use 'world' as the default database mysqlx://user_name@198.51.100.1/world # use 'world_x' as the default database, encoding _ as %5F mysqlx://user_name@198.51.100.2:33060/world%5Fx5: Yêu cầu từ máy chủ Khóa công khai cần thiết cho trao đổi mật khẩu dựa trên cặp khóa RSA. Sử dụng khi kết nối với các máy chủ MySQL 8.0 qua giao thức MySQL cổ điển với chế độ SSL mysqlx://user_name@localhost:330653. Bạn phải chỉ định giao thức trong trường hợp này. Ví dụ:

    mysql://user@localhost:3306?get-server-public-key=true

    Tùy chọn này áp dụng cho các máy khách xác thực với plugin xác thực # use 'world' as the default database mysqlx://user_name@198.51.100.1/world # use 'world_x' as the default database, encoding _ as %5F mysqlx://user_name@198.51.100.2:33060/world%5Fx7. Đối với plugin đó, máy chủ không gửi khóa công khai trừ khi được yêu cầu. Tùy chọn này bị bỏ qua cho các tài khoản không xác thực với plugin đó. Nó cũng bị bỏ qua nếu trao đổi mật khẩu dựa trên RSA không được sử dụng, như trường hợp máy khách kết nối với máy chủ bằng kết nối an toàn.

    Nếu # use 'world' as the default database mysqlx://user_name@198.51.100.1/world # use 'world_x' as the default database, encoding _ as %5F mysqlx://user_name@198.51.100.2:33060/world%5Fx8 được cung cấp và chỉ định một tệp khóa công khai hợp lệ, nó sẽ được ưu tiên hơn # use 'world' as the default database mysqlx://user_name@198.51.100.1/world # use 'world_x' as the default database, encoding _ as %5F mysqlx://user_name@198.51.100.2:33060/world%5Fx5.

    Để biết thông tin về plugin # use 'world' as the default database mysqlx://user_name@198.51.100.1/world # use 'world_x' as the default database, encoding _ as %5F mysqlx://user_name@198.51.100.2:33060/world%5Fx7, xem Phần & NBSP; 6.4.1.2, Bộ nhớ đệm SHA-2 có thể thực hiện.

  • ?ssl-ca=%2Froot%2Fclientcert%2Fca-cert.pem\ &ssl-cert=%2Froot%2Fclientcert%2Fclient-cert.pem\ &ssl-key=%2Froot%2Fclientcert%2Fclient-key ?ssl-ca=(/root/clientcert/ca-cert.pem)\ &ssl-cert=(/root/clientcert/client-cert.pem)\ &ssl-key=(/root/clientcert/client-key)1: Tên đường dẫn đến một tệp ở định dạng PEM chứa bản sao phía máy khách của khóa công khai theo yêu cầu của máy chủ để trao đổi mật khẩu dựa trên cặp khóa RSA. Sử dụng khi kết nối với các máy chủ MySQL 8.0 qua giao thức MySQL cổ điển với chế độ SSL mysqlx://user_name@localhost:330653.

    Tùy chọn này áp dụng cho các máy khách xác thực với plugin xác thực ?ssl-ca=%2Froot%2Fclientcert%2Fca-cert.pem\ &ssl-cert=%2Froot%2Fclientcert%2Fclient-cert.pem\ &ssl-key=%2Froot%2Fclientcert%2Fclient-key ?ssl-ca=(/root/clientcert/ca-cert.pem)\ &ssl-cert=(/root/clientcert/client-cert.pem)\ &ssl-key=(/root/clientcert/client-key)3 hoặc # use 'world' as the default database mysqlx://user_name@198.51.100.1/world # use 'world_x' as the default database, encoding _ as %5F mysqlx://user_name@198.51.100.2:33060/world%5Fx7. Tùy chọn này bị bỏ qua cho các tài khoản không xác thực với một trong những plugin đó. Nó cũng bị bỏ qua nếu trao đổi mật khẩu dựa trên RSA không được sử dụng, như trường hợp máy khách kết nối với máy chủ bằng kết nối an toàn.

    Nếu # use 'world' as the default database mysqlx://user_name@198.51.100.1/world # use 'world_x' as the default database, encoding _ as %5F mysqlx://user_name@198.51.100.2:33060/world%5Fx8 được cung cấp và chỉ định một tệp khóa công khai hợp lệ, nó sẽ được ưu tiên hơn # use 'world' as the default database mysqlx://user_name@198.51.100.1/world # use 'world_x' as the default database, encoding _ as %5F mysqlx://user_name@198.51.100.2:33060/world%5Fx5.

    Để biết thông tin về plugin # use 'world' as the default database mysqlx://user_name@198.51.100.1/world # use 'world_x' as the default database, encoding _ as %5F mysqlx://user_name@198.51.100.2:33060/world%5Fx7, xem Phần & NBSP; 6.4.1.2, Bộ nhớ đệm SHA-2 có thể thực hiện.

  • ?ssl-ca=%2Froot%2Fclientcert%2Fca-cert.pem\ &ssl-cert=%2Froot%2Fclientcert%2Fclient-cert.pem\ &ssl-key=%2Froot%2Fclientcert%2Fclient-key ?ssl-ca=(/root/clientcert/ca-cert.pem)\ &ssl-cert=(/root/clientcert/client-cert.pem)\ &ssl-key=(/root/clientcert/client-key)1: Tên đường dẫn đến một tệp ở định dạng PEM chứa bản sao phía máy khách của khóa công khai theo yêu cầu của máy chủ để trao đổi mật khẩu dựa trên cặp khóa RSA. Sử dụng khi kết nối với các máy chủ MySQL 8.0 qua giao thức MySQL cổ điển với chế độ SSL mysqlx://user_name@localhost:330653.

  • Tùy chọn này áp dụng cho các máy khách xác thực với plugin xác thực ?ssl-ca=%2Froot%2Fclientcert%2Fca-cert.pem\ &ssl-cert=%2Froot%2Fclientcert%2Fclient-cert.pem\ &ssl-key=%2Froot%2Fclientcert%2Fclient-key ?ssl-ca=(/root/clientcert/ca-cert.pem)\ &ssl-cert=(/root/clientcert/client-cert.pem)\ &ssl-key=(/root/clientcert/client-key)3 hoặc # use 'world' as the default database mysqlx://user_name@198.51.100.1/world # use 'world_x' as the default database, encoding _ as %5F mysqlx://user_name@198.51.100.2:33060/world%5Fx7. Tùy chọn này bị bỏ qua cho các tài khoản không xác thực với một trong những plugin đó. Nó cũng bị bỏ qua nếu trao đổi mật khẩu dựa trên RSA không được sử dụng, như trường hợp máy khách kết nối với máy chủ bằng kết nối an toàn.

  • mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false10: Mật khẩu cho kết nối với máy chủ SSH.

    Cảnh báo

    Chỉ định một mật khẩu rõ ràng trong đặc tả kết nối là không an toàn và không được khuyến nghị. MySQL Shell nhắc nhở mật khẩu tương tác khi cần thiết.

  • mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false11: Tệp cấu hình SSH cho kết nối với máy chủ SSH. Bạn có thể sử dụng tùy chọn cấu hình shell MySQL mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false12 để đặt tệp tùy chỉnh làm mặc định nếu tùy chọn này không được chỉ định. Nếu mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false12 chưa được đặt, mặc định là tệp cấu hình SSH tiêu chuẩn mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false14.

  • mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false15: Tệp nhận dạng để sử dụng cho kết nối với máy chủ SSH. Mặc định nếu tùy chọn này không được chỉ định là bất kỳ tệp nhận dạng nào được định cấu hình trong một tác nhân SSH (nếu được sử dụng) hoặc trong tệp cấu hình SSH hoặc tệp khóa riêng tiêu chuẩn trong thư mục cấu hình SSH (mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false16).

  • mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false17: Cụm mật khẩu cho tệp nhận dạng được chỉ định bởi tùy chọn mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false15.

    Cảnh báo

    Chỉ định một mật khẩu rõ ràng trong đặc tả kết nối là không an toàn và không được khuyến nghị. MySQL Shell nhắc nhở mật khẩu tương tác khi cần thiết.

  • mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false11: Tệp cấu hình SSH cho kết nối với máy chủ SSH. Bạn có thể sử dụng tùy chọn cấu hình shell MySQL mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false12 để đặt tệp tùy chỉnh làm mặc định nếu tùy chọn này không được chỉ định. Nếu mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false12 chưa được đặt, mặc định là tệp cấu hình SSH tiêu chuẩn mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false14.

  • mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false15: Tệp nhận dạng để sử dụng cho kết nối với máy chủ SSH. Mặc định nếu tùy chọn này không được chỉ định là bất kỳ tệp nhận dạng nào được định cấu hình trong một tác nhân SSH (nếu được sử dụng) hoặc trong tệp cấu hình SSH hoặc tệp khóa riêng tiêu chuẩn trong thư mục cấu hình SSH (mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false16).

    • mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false17: Cụm mật khẩu cho tệp nhận dạng được chỉ định bởi tùy chọn mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false15.

    • mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false19: Giá trị số nguyên được sử dụng để định cấu hình số giây mà máy khách, chẳng hạn như MySQL Shell, đợi cho đến khi họ ngừng cố gắng kết nối với máy chủ MySQL không phản hồi.

    mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false20: Tùy chọn này yêu cầu hoặc vô hiệu hóa nén cho kết nối. Lên đến MySQL 8.0.19 Nó chỉ hoạt động cho các kết nối giao thức MySQL cổ điển và từ MySQL 8.0.20, nó cũng hoạt động cho các kết nối giao thức X.

  • Lên đến MySQL 8.0.19, các giá trị cho tùy chọn này là mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false21 (hoặc 1) cho phép nén và mặc định mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false22 (hoặc 0) vô hiệu hóa nén.

  • Từ MySQL 8.0.20, các giá trị cho tùy chọn này là mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false23, yêu cầu nén và không thành công nếu máy chủ không hỗ trợ nó; mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false24, yêu cầu nén và rơi trở lại kết nối không nén; và mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false25, yêu cầu kết nối không nén và không thành công nếu máy chủ không cho phép chúng. mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false24 là mặc định cho các kết nối giao thức X và mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false25 là mặc định cho các kết nối giao thức MySQL cổ điển. Để biết thông tin về điều khiển nén kết nối plugin X, xem Phần & NBSP; 20.5.5, nén kết nối với plugin x plugin.

    mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false

    Lưu ý rằng các máy khách MySQL khác nhau thực hiện hỗ trợ của họ để nén kết nối khác nhau. Tham khảo tài liệu của khách hàng của bạn để biết chi tiết.

    mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]

    mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false28 và mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false29: Các tùy chọn này có sẵn trong MySQL Shell 8.0.20 và sau đó để kiểm soát nhiều hơn đối với nén kết nối. Bạn có thể chỉ định chúng để chọn thuật toán nén được sử dụng cho kết nối và mức nén số được sử dụng với thuật toán đó. Bạn cũng có thể sử dụng mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false28 thay cho mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false20 để yêu cầu nén cho kết nối. Để biết thông tin về điều khiển nén kết nối của Shell Shell, hãy xem bằng cách sử dụng các kết nối nén.

mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false32: Kiểm soát các cặp giá trị khóa mà các chương trình ứng dụng chuyển đến máy chủ tại thời điểm kết nối. Để biết thông tin chung về các thuộc tính kết nối, xem Phần & NBSP; 27.12.9, Bảng thuộc tính kết nối Lược đồ hiệu suất. Máy khách thường xác định một tập hợp các thuộc tính mặc định, có thể bị vô hiệu hóa hoặc bật. Ví dụ:

Hành vi mặc định là gửi bộ thuộc tính mặc định. Các ứng dụng có thể chỉ định các thuộc tính sẽ được truyền ngoài các thuộc tính mặc định. Bạn chỉ định các thuộc tính kết nối bổ sung là tham số mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false32 trong chuỗi kết nối. Giá trị tham số mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false32 phải trống (giống như chỉ định mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false21), giá trị mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false36 (mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false21 hoặc mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false22 để bật hoặc vô hiệu hóa thuộc tính mặc định) hoặc danh sách hoặc nhiều hơn đến bộ thuộc tính mặc định). Trong danh sách, một giá trị khóa bị thiếu đánh giá là một chuỗi trống. Ví dụ thêm:

Tên thuộc tính do ứng dụng xác định không thể bắt đầu bằng mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false40 vì các tên đó được dành riêng cho các thuộc tính nội bộ.

Kết nối bằng các chuỗi kết nối giống UriURI-like signifies connection-string syntax that is similar to but not identical to the URI (uniform resource identifier) syntax defined by RFC 3986.

Bạn có thể chỉ định kết nối với máy chủ MySQL bằng chuỗi giống URI. Các chuỗi như vậy có thể được sử dụng với vỏ MySQL với tùy chọn lệnh mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false41, lệnh mySQL shell mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false42 và các đầu nối MySQL triển khai X Devapi.

[scheme://][user[:[password]]@]host[:port][/schema][?attribute1=value1&attribute2=value2...

Ghi chú

Mã hóa phần trăm phải được sử dụng cho các ký tự dành riêng trong các yếu tố của chuỗi giống URI. Ví dụ: nếu bạn chỉ định một chuỗi bao gồm ký tự mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false43, ký tự phải được thay thế bằng mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false44. Nếu bạn bao gồm ID vùng trong địa chỉ IPv6, ký tự mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false45 được sử dụng làm dấu phân cách phải được thay thế bằng mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false46.

Các tham số bạn có thể sử dụng trong chuỗi kết nối giống URI được mô tả tại các tham số kết nối cơ sở.

Có thể sử dụng các phương thức mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false47 và mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false48 của MySQL Shell để giải mã và lắp ráp chuỗi kết nối giống URI. Đưa ra một chuỗi kết nối giống URI, mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false47 trả về một từ điển chứa từng phần tử được tìm thấy trong chuỗi. mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false48 Chuyển đổi từ điển các thành phần URI và các tùy chọn kết nối thành chuỗi kết nối giống như URI hợp lệ để kết nối với MySQL, có thể được sử dụng trong Shell MySQL hoặc các đầu nối MySQL triển khai X Devapi.

Nếu không có mật khẩu được chỉ định trong chuỗi giống như URI, được khuyến nghị, các máy khách tương tác nhắc nhở mật khẩu. Các ví dụ sau đây cho thấy cách chỉ định các chuỗi giống URI với tên người dùng mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false51. Trong mỗi trường hợp, mật khẩu được nhắc.

  • Kết nối giao thức X với phiên bản máy chủ cục bộ nghe tại cổng 33065.

    mysqlx://user_name@localhost:33065
  • Kết nối giao thức MySQL cổ điển với phiên bản máy chủ cục bộ nghe tại cổng 3333.

    mysql://user_name@localhost:3333
  • Kết nối giao thức X với phiên bản máy chủ từ xa, sử dụng tên máy chủ, địa chỉ IPv4 và địa chỉ IPv6.

    mysqlx://user_name@server.example.com/ mysqlx://user_name@198.51.100.14:123 mysqlx://user_name@[2001:db8:85a3:8d3:1319:8a2e:370:7348]
  • Kết nối giao thức X bằng cách sử dụng ổ cắm, với đường dẫn được cung cấp bằng cách sử dụng phần trăm mã hóa hoặc dấu ngoặc đơn.

    mysqlx://user_name@/path%2Fto%2Fsocket.sock mysqlx://user_name@(/path/to/socket.sock)
  • Một đường dẫn tùy chọn có thể được chỉ định, đại diện cho một cơ sở dữ liệu.

    # use 'world' as the default database mysqlx://user_name@198.51.100.1/world # use 'world_x' as the default database, encoding _ as %5F mysqlx://user_name@198.51.100.2:33060/world%5Fx
  • Một truy vấn tùy chọn có thể được chỉ định, bao gồm các giá trị được đưa ra dưới dạng một cặp ________ 152 = ________ 153 hoặc như một mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false54. Để chỉ định nhiều giá trị, hãy tách chúng bằng mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false55 ký tự. Một hỗn hợp của ________ 152 = ________ 153 và mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false54 giá trị được cho phép. Các giá trị có thể là danh sách loại, với các giá trị danh sách được đặt hàng theo ngoại hình. Chuỗi phải được mã hóa phần trăm hoặc được bao quanh bởi dấu ngoặc đơn. Sau đây là tương đương.

    ?ssl-ca=%2Froot%2Fclientcert%2Fca-cert.pem\ &ssl-cert=%2Froot%2Fclientcert%2Fclient-cert.pem\ &ssl-key=%2Froot%2Fclientcert%2Fclient-key ?ssl-ca=(/root/clientcert/ca-cert.pem)\ &ssl-cert=(/root/clientcert/client-cert.pem)\ &ssl-key=(/root/clientcert/client-key)
  • Để chỉ định phiên bản TLS và Ciphersuite để sử dụng cho các kết nối được mã hóa:

    mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false0

Các ví dụ trước cho rằng các kết nối yêu cầu mật khẩu. Với các máy khách tương tác, mật khẩu của người dùng được chỉ định được yêu cầu tại dấu nhắc đăng nhập. Nếu tài khoản người dùng không có mật khẩu (không an toàn và không được khuyến nghị) hoặc nếu sử dụng xác thực tín dụng ngang hàng của ổ cắm và không cần phải nhắc nhở mật khẩu. Để thực hiện việc này, hãy đặt một mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false59 sau mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false51 vào chuỗi nhưng không chỉ định mật khẩu sau nó. Ví dụ:

mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false1

Kết nối bằng cách sử dụng các cặp giá trị khóa

Trong MySQL Shell và một số đầu nối MySQL triển khai X Devapi, bạn có thể chỉ định kết nối với máy chủ MySQL bằng các cặp giá trị khóa, được cung cấp trong các cấu trúc tự nhiên ngôn ngữ để triển khai. Ví dụ: bạn có thể cung cấp các tham số kết nối bằng các cặp giá trị khóa làm đối tượng JSON trong JavaScript hoặc như một từ điển trong Python. Bất kể cách cung cấp các cặp giá trị khóa được cung cấp, khái niệm vẫn giữ nguyên: các khóa như được mô tả trong phần này có thể được gán các giá trị được sử dụng để chỉ định kết nối. Bạn có thể chỉ định các kết nối bằng các cặp giá trị khóa trong phương thức mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false61 của MySQL Shell hoặc phương thức mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false62 của Innodb Cluster và với một số đầu nối MySQL triển khai X Devapi.

Nói chung, các cặp giá trị khóa được bao quanh bởi các ký tự mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false63 và mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false64 và ký tự mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false55 được sử dụng làm phân tách giữa các cặp giá trị khóa. Ký tự mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false59 được sử dụng giữa các khóa và giá trị và các chuỗi phải được phân định (ví dụ: sử dụng ký tự mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false67). Không cần thiết để phần trăm mã mã hóa chuỗi, không giống như các chuỗi kết nối giống URI.

Một kết nối được chỉ định là các cặp giá trị khóa có định dạng sau:

mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false2

Các tham số bạn có thể sử dụng làm khóa cho kết nối được mô tả tại các tham số kết nối cơ sở.

Nếu không có mật khẩu được chỉ định trong các cặp giá trị khóa, được khuyến nghị, các máy khách tương tác nhắc nhở mật khẩu. Các ví dụ sau đây cho thấy cách chỉ định các kết nối bằng các cặp giá trị khóa với tên người dùng 'mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false51'. Trong mỗi trường hợp, mật khẩu được nhắc.'mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false51'. In each case, the password is prompted for.

  • Kết nối giao thức X với phiên bản máy chủ cục bộ nghe tại cổng 33065.

    mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false3
  • Kết nối giao thức MySQL cổ điển với phiên bản máy chủ cục bộ nghe tại cổng 3333.

    mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false4
  • Kết nối giao thức X với phiên bản máy chủ từ xa, sử dụng tên máy chủ, địa chỉ IPv4 và địa chỉ IPv6.

    mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false5
  • Kết nối giao thức X bằng cách sử dụng ổ cắm.

    mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false6
  • Một lược đồ tùy chọn có thể được chỉ định, đại diện cho một cơ sở dữ liệu.

    mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false7

Các ví dụ trước cho rằng các kết nối yêu cầu mật khẩu. Với các máy khách tương tác, mật khẩu của người dùng được chỉ định được yêu cầu tại dấu nhắc đăng nhập. Nếu tài khoản người dùng không có mật khẩu (không an toàn và không được khuyến nghị) hoặc nếu sử dụng xác thực tín dụng ngang hàng của ổ cắm không được yêu cầu. Để thực hiện việc này, cung cấp một chuỗi trống bằng cách sử dụng mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false69 sau khóa mysqlx://user@host?connection-attributes=[attr1=val1,attr2,attr3=] mysqlx://user@host?connection-attributes=[]6. Ví dụ:

mysqlx://user@host?connection-attributes mysqlx://user@host?connection-attributes=true mysqlx://user@host?connection-attributes=false8

Làm cách nào để tìm chuỗi kết nối MySQL?

Trình điều khiển = {mysql}; server = myserveraddress; port = 3306; tùy chọn = 131072; stmt =; cơ sở dữ liệu = mydatabase; user = myusername; password = myPassword; Trình điều khiển mặc định là giá trị cổng 3306, nếu không được chỉ định trong chuỗi kết nối, vì 3306 là cổng mặc định cho MySQL. The driver defaults to port value 3306, if not specified in the connection string, as 3306 is the default port for MySQL.

Chuỗi kết nối của bạn là gì?

Trong tính toán, một chuỗi kết nối là một chuỗi chỉ định thông tin về nguồn dữ liệu và phương tiện kết nối với nó.Nó được chuyển trong mã cho một trình điều khiển hoặc nhà cung cấp cơ bản để bắt đầu kết nối.a string that specifies information about a data source and the means of connecting to it. It is passed in code to an underlying driver or provider in order to initiate the connection.

Việc sử dụng chuỗi kết nối là gì?

Các ứng dụng sử dụng các chuỗi kết nối để xác định cá thể và cơ sở dữ liệu máy chủ để kết nối và xác định trình điều khiển, đăng nhập, v.v. để sử dụng để kết nối với phiên bản SQL Server.Thông thường, chuỗi kết nối sẽ được lưu trữ trong tệp cấu hình ở đâu đó trong ứng dụng hoặc máy chủ web.to identify the server instance and database to connect to and to determine what driver, login, etc. to use to connect to the SQL Server instance. Typically, the connection string will be stored in a configuration file somewhere within the application or web server.

Chuỗi kết nối chứa bao nhiêu?

Một chuỗi kết nối chứa thông tin khởi tạo được truyền dưới dạng tham số từ nhà cung cấp dữ liệu sang nguồn dữ liệu.Nhà cung cấp dữ liệu nhận được chuỗi kết nối dưới dạng giá trị của DBConnection.initialization information that is passed as a parameter from a data provider to a data source. The data provider receives the connection string as the value of the DbConnection.

Chủ đề