Skip to content

fix: Correct MySQL required SSL mode — it verifies the server certificate#1755

Open
claudespice wants to merge 1 commit into
trunkfrom
fix/mysql-sslmode-required-verifies-certs
Open

fix: Correct MySQL required SSL mode — it verifies the server certificate#1755
claudespice wants to merge 1 commit into
trunkfrom
fix/mysql-sslmode-required-verifies-certs

Conversation

@claudespice
Copy link
Copy Markdown
Collaborator

Summary

The MySQL connector reference pages describe mysql_sslmode: required as simply "requires an SSL connection" without mentioning that the server certificate and domain name are verified. The runtime actually uses mysql_async::SslOpts::default() for this mode, which sets accept_invalid_certs=false and skip_domain_validation=false — equivalent to verify_identity.

PR #1707 corrected this wording in deployment.md (vNext) but left the connector reference page and every versioned copy untouched. This PR brings the remaining eight reference pages in line with the actual runtime behaviour and with the corrected deployment guide.

The preferred mode wording is also tightened to call out that it skips certificate/hostname verification, matching the runtime's with_danger_accept_invalid_certs(true) / with_danger_skip_domain_validation(true).

Changes

Replaced the mysql_sslmode row description in all 8 affected files:

  • website/docs/components/data-connectors/mysql/index.md
  • website/versioned_docs/version-1.5.x/components/data-connectors/mysql.md
  • website/versioned_docs/version-1.6.x/components/data-connectors/mysql.md
  • website/versioned_docs/version-1.7.x/components/data-connectors/mysql.md
  • website/versioned_docs/version-1.8.x/components/data-connectors/mysql.md
  • website/versioned_docs/version-1.9.x/components/data-connectors/mysql.md
  • website/versioned_docs/version-1.10.x/components/data-connectors/mysql.md
  • website/versioned_docs/version-1.11.x/components/data-connectors/mysql.md

Files updated: 8 (1 vNext + 7 versioned).

Reference

Verified against:

  • crates/runtime/src/catalogconnector/mysql.rs:165-208 (catalog metadata pool — secret_map.get("sslmode") defaults to "required", branches into metadata_pool_ssl_opts which returns SslOpts::default() for required and adds with_danger_accept_invalid_certs(true) + with_danger_skip_domain_validation(true) for preferred).
  • datafusion-table-providers mysqlpool.rs get_ssl_opts() (federated query path — same default-vs-danger split, unchanged across v1.5.x–trunk).

Behaviour matches the wording already shipped in mysql/deployment.md after PR #1707.

Notes

  • Local npm run build was not run because of disk-space exhaustion in the working environment. The diff is a pure single-cell text replacement inside an existing markdown table — no link, anchor, or tag changes — so the Docusaurus broken-link / inline-tag checks should be unaffected. CI on this PR will confirm.

The MySQL connector reference pages described `mysql_sslmode: required` as
merely "requires an SSL connection" without mentioning that the server
certificate and domain name are verified. The runtime uses
`mysql_async::SslOpts::default()` for this mode, which sets
`accept_invalid_certs=false` and `skip_domain_validation=false` —
equivalent to `verify_identity`.

PR #1707 corrected the wording in deployment.md (vNext) but left the
connector reference page and every versioned copy untouched. This PR
brings the eight remaining reference pages in line with the runtime
behaviour and with the corrected deployment guide.

Verified against:
- crates/runtime/src/catalogconnector/mysql.rs:165-208 (metadata pool)
- datafusion-table-providers mysqlpool.rs get_ssl_opts() (federated
  query path, unchanged since v1.5.x)

The `preferred` mode wording was also tightened to call out that it
skips certificate/hostname verification, matching the runtime's
`with_danger_accept_invalid_certs(true)` /
`with_danger_skip_domain_validation(true)`.

Files updated: 8 (vNext + 7 versioned)
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 21, 2026

✅ Pull with Spice Passed

Passing checks:

  • ✅ Title meets minimum length requirement (10 characters)
  • ✅ Has at least one of the required labels: area/blog, area/docs, area/cookbook, dependencies
  • ✅ No banned labels detected
  • ✅ Has at least one assignee: claudespice

@github-actions
Copy link
Copy Markdown

🔍 Pull with Spice Failed

Passing checks:

  • ✅ Title meets minimum length requirement (10 characters)
  • ✅ Has at least one of the required labels: area/blog, area/docs, area/cookbook, dependencies
  • ✅ No banned labels detected

Failed checks:

  • ❌ At least one assignee is required for this pull request.

Please address these issues and update your pull request.

@github-actions
Copy link
Copy Markdown

🚀 deployed to https://616d609e.spiceai-org-website.pages.dev

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant