-
Notifications
You must be signed in to change notification settings - Fork 710
Update MySQL version references #22839
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
5f81432
Update MySQL version references
dveeden 6ae0ede
Update security-compatibility-with-mysql.md
dveeden f2d0f2d
Update .gemini/styleguide.md
hfxsd d80c75a
Apply suggestions from code review
hfxsd efce9fc
Apply suggestions from code review
hfxsd File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -27,21 +27,21 @@ After the installation, you can connect to TiDB using the following command: | |
| mysql --host <tidb_server_host> --port 4000 -u root -p --comments | ||
| ``` | ||
|
|
||
| The MySQL v9.0 client on macOS cannot correctly load the `mysql_native_password` plugin, causing the error `ERROR 2059 (HY000): Authentication plugin 'mysql_native_password' cannot be loaded` when connecting to TiDB. To address this issue, it is recommended to install and use the MySQL v8.0 client to connect to TiDB. Run the following commands to install it: | ||
| The MySQL 9.x client on macOS cannot correctly load the `mysql_native_password` plugin, causing the error `ERROR 2059 (HY000): Authentication plugin 'mysql_native_password' cannot be loaded` when connecting to TiDB. To address this issue, it is recommended to install and use the MySQL 8.0 client to connect to TiDB. Run the following commands to install it: | ||
|
|
||
| ```shell | ||
| brew install [email protected] | ||
| brew unlink mysql | ||
| brew link [email protected] | ||
| ``` | ||
|
|
||
| If you still encounter errors, you can specify the installation path of the MySQL v8.0 client to connect to TiDB. Run the following command: | ||
| If you still encounter errors, you can specify the installation path of the MySQL 8.0 client to connect to TiDB. Run the following command: | ||
|
|
||
| ```shell | ||
| /opt/homebrew/opt/[email protected]/bin/mysql --comments --host ${YOUR_IP_ADDRESS} --port ${YOUR_PORT_NUMBER} -u ${your_user_name} -p | ||
| ``` | ||
|
|
||
| Replace `/opt/homebrew/opt/[email protected]/bin/mysql` in the preceding command with the installation path of the MySQL v8.0 client in your actual environment. | ||
| Replace `/opt/homebrew/opt/[email protected]/bin/mysql` in the preceding command with the installation path of the MySQL 8.0 client in your actual environment. | ||
|
|
||
| </div> | ||
|
|
||
|
|
||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -6,7 +6,7 @@ aliases: ['/docs/dev/security-compatibility-with-mysql/','/docs/dev/reference/se | |
|
|
||
| # Security Compatibility with MySQL | ||
|
|
||
| TiDB supports security features similar to MySQL 5.7, and also supports some security features of MySQL 8.0. The security features of TiDB are different from MySQL in implementation. | ||
| TiDB supports security features similar to MySQL 5.7, and also supports some security features of MySQL 8.x. The security features of TiDB are different from MySQL in implementation. | ||
|
|
||
| ## Unsupported security features | ||
|
|
||
|
|
@@ -35,37 +35,37 @@ The expiration mechanism of TiDB is different from MySQL in the following aspect | |
|
|
||
| The password complexity policies of TiDB and MySQL have the following differences: | ||
|
|
||
| - MySQL v5.7 implements the password complexity policy by using the `validate_password` plugin. | ||
| - MySQL v8.0 re-implements the password complexity policy by using the `validate_password` component. | ||
| - MySQL 5.7 implements the password complexity policy by using the `validate_password` plugin. | ||
| - MySQL 8.x re-implements the password complexity policy by using the `validate_password` component. | ||
| - TiDB introduces a built-in password complexity management feature starting from v6.5.0. | ||
|
|
||
| The feature implementation has the following differences: | ||
|
|
||
| - Enable the feature: | ||
|
|
||
| - In MySQL v5.7, the feature is implemented by using the `validate_password` plugin. You can enable the feature by installing the plugin. | ||
| - In MySQL v8.0, the feature is implemented by using the `validate_password` component. You can enable the feature by installing the component. | ||
| - In MySQL 5.7, the feature is implemented by using the `validate_password` plugin. You can enable the feature by installing the plugin. | ||
| - In MySQL 8.x, the feature is implemented by using the `validate_password` component. You can enable the feature by installing the component. | ||
| - For TiDB, this feature is built-in. You can enable the feature using the system variable [`validate_password.enable`](/system-variables.md#validate_passwordenable-new-in-v650). | ||
|
|
||
| - Dictionary check: | ||
|
|
||
| - In MySQL v5.7, you can specify a file path using the `validate_password_dictionary_file` variable. The file contains a list of words that are not allowed to exist in passwords. | ||
| - In MySQL v8.0, you can specify a file path using the `validate_password.dictionary_file` variable. The file contains a list of words that are not allowed to exist in passwords. | ||
| - In MySQL 5.7, you can specify a file path using the `validate_password_dictionary_file` variable. The file contains a list of words that are not allowed to exist in passwords. | ||
| - In MySQL 8.x, you can specify a file path using the `validate_password.dictionary_file` variable. The file contains a list of words that are not allowed to exist in passwords. | ||
| - In TiDB, you can specify a string using the [`validate_password.dictionary`](/system-variables.md#validate_passworddictionary-new-in-v650) system variable. The string contains a list of words that are not allowed to exist in passwords. | ||
|
|
||
| ### Password failure tracking | ||
|
|
||
| The password failure tracking policies of TiDB and MySQL have the following differences: | ||
|
|
||
| - MySQL v5.7 does not support password failure tracking. | ||
| - MySQL v8.0 supports password failure tracking. | ||
| - MySQL 5.7 does not support password failure tracking. | ||
| - MySQL 8.x supports password failure tracking. | ||
| - TiDB supports password failure tracking starting from v6.5.0. | ||
|
|
||
| Because the number of failed attempts and lock status of accounts need to be globally consistent, and as a distributed database, TiDB cannot record the number of failed attempts and lock status in the server memory like MySQL, so the implementation mechanisms are different between TiDB and MySQL. | ||
|
|
||
| - For users that are not locked automatically, the count of failed attempts is reset in the following scenarios: | ||
|
|
||
| + MySQL 8.0: | ||
| + MySQL 8.x: | ||
|
|
||
| - When the server is restarted, the count of failed attempts for all accounts is reset. | ||
| - When `FLUSH PRIVILEGES` is executed, the count of failed attempts for all accounts is reset. | ||
|
|
@@ -79,7 +79,7 @@ Because the number of failed attempts and lock status of accounts need to be glo | |
|
|
||
| - For users that are locked automatically, the count of failed attempts is reset in the following scenarios: | ||
|
|
||
| + MySQL 8.0: | ||
| + MySQL 8.x: | ||
|
|
||
| - When the server is restarted, the temporary locking for all accounts is reset. | ||
| - When `FLUSH PRIVILEGES` is executed, the temporary locking for all accounts is reset. | ||
|
|
@@ -95,8 +95,8 @@ Because the number of failed attempts and lock status of accounts need to be glo | |
|
|
||
| The password reuse policies of TiDB and MySQL have the following differences: | ||
|
|
||
| - MySQL v5.7 does not support password reuse management. | ||
| - MySQL v8.0 supports password reuse management. | ||
| - MySQL 5.7 does not support password reuse management. | ||
| - MySQL 8.x supports password reuse management. | ||
| - TiDB supports password reuse management starting from v6.5.0. | ||
|
|
||
| The implementation mechanisms are consistent between TiDB and MySQL. Both use the `mysql.password_history` system table to implement the password reuse management feature. However, when deleting a user that does not exist in the `mysql.user` system table, TiDB and MySQL have different behaviors: | ||
|
|
@@ -258,4 +258,4 @@ To configure and use `tidb_auth_token` as the authentication method for TiDB Sel | |
|
|
||
| If an incorrect `--sub` is specified when the token is generated (such as `--sub "[email protected]"`), the authentication using this token would fail. | ||
|
|
||
| You can encode and decode a token using the debugger provided by [jwt.io](https://jwt.io/). | ||
| You can encode and decode a token using the debugger provided by [jwt.io](https://jwt.io/). | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.