Denne artikel er en spejling af maskinoversættelse, klik venligst her for at springe til den oprindelige artikel.

Udsigt: 13228|Svar: 3

[Kilde] Java JDBC's rewriteBatchedStatements, allowPublicKeyRetrieval...

[Kopier link]
Opslået den 2022-2-11 13:59:18 | | |
Optimerede ydeevnen af Java JDBC's rewriteBatchedStatements, allowPublicKeyRetrieval, allowMultiQueries og sslMode-konfigurationer.

jdbc Dokumentation for alle konfigurationsegenskaber:Hyperlink-login er synlig.

Anmeldelse:

.NET/C# Optimerede ydeevnen af SslMode til MySQL-databaser
https://www.itsvse.com/thread-9956-1-1.html

allowPublicKeyRetrieval

Når du bruger MySQL 8.0, bliver du efter genstart af appen bedt om com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Public Key Retrieval er ikke tilladt

Den nemmeste løsning er at tilføje den efter forbindelsenallowPublicKeyRetrieval=true

Hvis brugeren bruger sha256_password autentificering, skal adgangskoden beskyttes under transport ved hjælp af TLS-protokollen, men hvis RSA's offentlige nøgle ikke er tilgængelig, kan den offentlige nøgle, som serveren leverer, bruges; Serverens RSA-offentlige nøgle kan angives i forbindelsen via ServerRSAPublicKeyFile eller parameteren AllowPublicKeyRetrieval=True, så klienten kan hente den offentlige nøgle fra serveren; Det skal dog bemærkes, at AllowPublicKeyRetrieval=True kan få ondsindede agenter til at få klartekstadgangskoder gennem man-in-the-middle-angreb (MITM), så den er slået fra som standard og skal eksplicit aktiveres.



rewriteBatchedStatements

For at opnå højtydende batchindsættelse ved at tilføje parameteren rewriteBatchedStatements til URL'en til JDBC-forbindelsen i MySQL og sikre, at driverversionen 5.1.13 eller senere er garanteret. Som standard ignorerer MySQL JDBC-driveren executeBatch()-sætningen, deler et sæt SQL-sætninger, som vi forventer at køre i batches, og sender dem til MySQL-databasen én ad gangen.
Kun ved at sætte parameteren rewriteBatchedStatements til true vil driveren udføre SQL i batches
Denne mulighed gælder også for INSERT/UPDATE/DELETE

Som standard ignorerer MySQL Jdbc-driveren executeBatch()-sætningen, deler et sæt SQL-sætninger op, som vi forventer at køre i batches, og sender dem til MySQL-databasen én efter én, hvilket direkte forårsager lav ydeevne.

Kun ved at sætte parameteren rewriteBatchedStatements til true, vil driveren hjælpe dig med at udføre SQL i bulk (jdbc:mysql://ip:port/db?)rewriteBatchedStatements=true)


allowMultiQueries

Tilladelse til at bruge'; ' Adskiller flere forespørgsler (sand/falsk) i én sætning. Standardværdien er "false", hvilket ikke påvirker addBatch() og executeBatch()-metoderne, som afhænger af rewriteBatchStatements.

Når MySQL forbinder til en database, tilføj sætningen:allowMultiQueries=trueRollen for ":

1. Du kan føre et semikolon efter SQL-sætningen for at opnå multi-statement execution.
2. Batchbehandling kan udføres, og flere SQL-sætninger kan udstedes samtidig.


sslMode

Som standard er netværksforbindelser SSL-krypterede; Denne egenskab giver dig mulighed for at slå den sikre forbindelse fra eller vælge et andet sikkerhedsniveau. Følgende værdier er tilladt: "DELUKKET" – en ukrypteret forbindelse etableres; "FORETRÆKKET" - (standard) Hvis serveren aktiverer krypterede forbindelser, etableres en krypteret forbindelse, ellers falder den tilbage til en ukrypteret forbindelse; "PÅKRÆVET" - Opret en sikker forbindelse, hvis serveren har aktiveret den, ellers fejler den; "VERIFY_CA" - Ligner "REQUIRED", men validerer desuden serverens TLS-certifikat mod det konfigurerede certifikatmyndighed (CA)-certifikat; "VERIFY_IDENTITY" - som "VERIFY_CA",

Denne attribut erstatter de forældede gamle attributter "useSSL", "requireSSL" og "verifyServerCertificate", som stadig accepteres, men konverteres til værdien "sslMode", hvis "sslMode" ikke eksplicit er sat: "useSSL=false" konverteres til "sslMode=disabled"; {"useSSL=true", "requireSSL=false", "verifyServerCertificate=false"} oversættes som "sslMode=FORETRÆKKET"; {"useSSL=true", "requireSSL=true", "verifyServerCertificate=false"} oversættes som "sslMode=REQUIRED"; {"useSSL=true" OG "verifyServerCertificate=true"} oversættes til "Standardindstillingen for "sslMode" er "FORETRAGET", hvilket svarer til de traditionelle "useSSL=true", "requireSSL=false" og "verifyServerCertificate=false" indstillinger, som er de samme som Connector/ Standardindstillingerne for J 8.0.12 og tidligere versioner er forskellige i nogle tilfælde. Applikationer, der fortsat bruger de gamle attributter og er afhængige af deres gamle standardindstillinger, bør gennemgås. Standardindstillingen for "sslMode" er "FORETRAGET", hvilket svarer til de traditionelle indstillinger "useSSL=true", "requireSSL=false" og "verifyServerCertificate=false", hvilket i nogle tilfælde adskiller sig fra standardindstillingen for Connector/J 8.0.12 og tidligere. Applikationer, der fortsat bruger de gamle attributter og er afhængige af deres gamle standardindstillinger, bør gennemgås. I nogle tilfælde er det 12 eller tidligere. Applikationer, der fortsat bruger de gamle attributter og er afhængige af deres gamle standardindstillinger, bør gennemgås. I nogle tilfælde er det 12 eller tidligere. Applikationer, der fortsat bruger de gamle attributter og er afhængige af deres gamle standardindstillinger, bør gennemgås.

Hvis "sslMode" er eksplicit sat, ignoreres den gamle egenskab. Hvis "sslMode" eller "useSSL" ikke er eksplicit sat, anvendes standardindstillingen "sslMode=FOREGET".

JDBC-indstillinger til at slå sikre forbindelser fra:sslmode=deaktiveret




Tidligere:Sådan omdøber man filer i batches i Linux
Næste:Hvordan man begrænser taiwanske brugere fra at registrere sig, poster information efter behag og beder om råd om, hvordan man skriver.
 Udlejer| Opslået den 2022-2-11 14:04:39 |
Spring database forbindelsesstreng

Opslået den 2022-2-13 16:31:57 |
Lær at lære.
 Udlejer| Opslået den 25-4-2024 08:38:32 |
C# undtagelse
System.InvalidOperationException: An exception has been raised that is likely due to a transient failure. Consider enabling transient error resiliency by adding 'EnableRetryOnFailure()' to the 'UseMySql' call.
---> MySqlConnector.MySqlException (0x80004005): Autentificeringsmetode 'caching_sha2_password' fejlede. Enten brug en sikker forbindelse, angiv serverens RSA offentlige nøgle med ServerRSAPublicKeyFile, eller sæt AllowPublicKeyRetrieval=True.


opløsning

Ansvarsfraskrivelse:
Al software, programmeringsmaterialer eller artikler udgivet af Code Farmer Network er kun til lærings- og forskningsformål; Ovenstående indhold må ikke bruges til kommercielle eller ulovlige formål, ellers skal brugerne bære alle konsekvenser. Oplysningerne på dette site kommer fra internettet, og ophavsretstvister har intet med dette site at gøre. Du skal slette ovenstående indhold fuldstændigt fra din computer inden for 24 timer efter download. Hvis du kan lide programmet, så understøt venligst ægte software, køb registrering og få bedre ægte tjenester. Hvis der er nogen overtrædelse, bedes du kontakte os via e-mail.

Mail To:help@itsvse.com