Šis raksts ir mašīntulkošanas spoguļraksts, lūdzu, noklikšķiniet šeit, lai pārietu uz oriģinālo rakstu.

Skats: 13228|Atbildi: 3

[Avots] Java JDBC rewriteBatchedStatements, allowPublicKeyRetrieval...

[Kopēt saiti]
Publicēts 2022-2-11 13:59:18 | | |
Optimizēta Java JDBC rewriteBatchedStatements, allowPublicKeyRetrieval, allowMultiQueries un sslMode konfigurāciju veiktspēja.

jdbc visu konfigurācijas rekvizītu dokumentācija:Hipersaites pieteikšanās ir redzama.

Pārskats:

.NET/C# Optimizēta SslMode veiktspēja MySQL datu bāzēm
https://www.itsvse.com/thread-9956-1-1.html

allowPublicKeyRetrieval

Izmantojot MySQL 8.0, pēc programmas restartēšanas tiek parādīta uzvedne com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: publiskās atslēgas izgūšana nav atļauta

Vienkāršākais risinājums ir to pievienot pēc savienojumaallowPublicKeyRetrieval=true

Ja lietotājs izmanto sha256_password autentifikāciju, parole ir jāaizsargā pārsūtīšanas laikā, izmantojot TLS protokolu, bet, ja RSA publiskā atslēga nav pieejama, var izmantot servera nodrošināto publisko atslēgu; Servera RSA publisko atslēgu var norādīt savienojumā, izmantojot ServerRSAPublicKeyFile, vai parametru AllowPublicKeyRetrieval=True, lai klients varētu iegūt publisko atslēgu no servera; Tomēr jāatzīmē, ka AllowPublicKeyRetrieval=True var izraisīt ļaunprātīgu aģentu vienkārša teksta paroļu iegūšanu, izmantojot man-in-the-middle uzbrukumus (MITM), tāpēc tas ir izslēgts pēc noklusējuma un tam jābūt skaidri iespējotam.



pārrakstīt partijas paziņojumus

Lai panāktu augstas veiktspējas partijas ievietošanu, pievienojot parametru rewriteBatchedStatements JDBC savienojuma URL MySQL un nodrošinot, ka tiek garantēta draivera versija 5.1.13 vai jaunāka. Pēc noklusējuma MySQL JDBC draiveris ignorē priekšrakstu executeBatch(), sadala SQL priekšrakstu kopu, ko mēs plānojam izpildīt paketēs, un nosūta tos uz MySQL datu bāzi pa vienam.
Tikai iestatot parametru rewriteBatchedStatements uz true, draiveris izpildīs SQL partijās
Šī opcija ir derīga arī INSERT/UPDATE/DELETE

Pēc noklusējuma MySQL Jdbc draiveris ignorē executeBatch() priekšrakstu, sadala SQL priekšrakstu kopu, ko mēs plānojam izpildīt partijās, un nosūta tos uz MySQL datu bāzi pa vienam, kas tieši izraisa zemu veiktspēju.

Tikai iestatot parametru rewriteBatchedStatements uz true, draiveris palīdzēs jums izpildīt SQL lielapjomā (jdbc:mysql://ip:port/db?)rewriteBatchedStatements=true)


allowMultiQueries

Lietošanas atļauja"; ' Atdala vairākus vaicājumus (patiess/nepatiess) vienā priekšrakstā. Noklusējuma vērtība ir "false", kas neietekmē addBatch() un executeBatch() metodes, kas ir atkarīgas no rewriteBatchStatements.

Kad MySQL izveido savienojumu ar datu bāzi, pievienojiet paziņojumu:"allowMultiQueries=trueLoma ":

1. Jūs varat nēsāt semikolu pēc SQL paziņojuma, lai panāktu vairāku paziņojumu izpildi.
2. Var veikt partijas apstrādi un vienlaikus izsniegt vairākus SQL paziņojumus.


sslMode

Pēc noklusējuma tīkla savienojumi ir šifrēti SSL; Šis rekvizīts ļauj izslēgt drošo savienojumu vai atlasīt citu drošības līmeni. Ir atļautas šādas vērtības: "DISABLED" - tiek izveidots nešifrēts savienojums; "VĒLAMS" - (noklusējums) Ja serveris iespējo šifrētus savienojumus, tiek izveidots šifrēts savienojums, pretējā gadījumā tas atgriežas pie nešifrēta savienojuma; "OBLIGĀTS" - izveidojiet drošu savienojumu, ja serveris to ir iespējojis, pretējā gadījumā tas neizdodas; "VERIFY_CA" - līdzīgs "REQUIRED", bet papildus validē servera TLS sertifikātu pret konfigurēto sertificēšanas iestādes (CA) sertifikātu; "VERIFY_IDENTITY" - piemēram, "VERIFY_CA",

Šis atribūts aizstāj novecojušos vecos atribūtus "useSSL", "requireSSL" un "verifyServerCertificate", kas joprojām tiek akceptēti, bet konvertēti uz vērtību "sslMode", ja "sslMode" nav skaidri iestatīts: "useSSL=false" tiek konvertēts uz "sslMode=disabled"; {"useSSL=true", "requireSSL=false", "verifyServerCertificate=false"} tiek tulkots kā "sslMode=PREFERRED"; {"useSSL=true", "requireSSL=true", "verifyServerCertificate=false"} tiek tulkots kā "sslMode=REQUIRED"; {"useSSL=true" UN "verifyServerCertificate=true"} tiek tulkots kā "Noklusējuma iestatījums "sslMode" ir "PREFERRED", kas ir ekvivalents tradicionālajiem iestatījumiem "useSSL=true", "requireSSL=false" un "verifyServerCertificate=false", kas ir tāds pats kā savienotājs/ J 8.0.12 un vecāku versiju noklusējuma iestatījumi dažos gadījumos atšķiras. Jāpārskata lietojumprogrammas, kas turpina izmantot vecos atribūtus un paļaujas uz vecajiem noklusējumiem. "sslMode" noklusējuma iestatījums ir "PREFERRED", kas ir līdzvērtīgs tradicionālajiem iestatījumiem "useSSL=true", "requireSSL=false" un "verifyServerCertificate=false", kas dažos gadījumos atšķiras no Connector/ J 8.0.12 un vecāku noklusējuma iestatījuma. Jāpārskata lietojumprogrammas, kas turpina izmantot vecos atribūtus un paļaujas uz vecajiem noklusējumiem. Dažos gadījumos tas ir 12 vai agrāk. Jāpārskata lietojumprogrammas, kas turpina izmantot vecos atribūtus un paļaujas uz vecajiem noklusējumiem. Dažos gadījumos tas ir 12 vai agrāk. Jāpārskata lietojumprogrammas, kas turpina izmantot vecos atribūtus un paļaujas uz vecajiem noklusējumiem.

Ja "sslMode" ir skaidri iestatīts, vecais rekvizīts tiek ignorēts. Ja "sslMode" vai "useSSL" nav skaidri iestatīts, tiek lietots noklusējuma iestatījums "sslMode=PREFERRED".

JDBC iestatījumi, lai izslēgtu drošus savienojumus:sslmode=atspējots




Iepriekšējo:Kā pārdēvēt failus partijās Linux
Nākamo:Kā ierobežot Taivānas lietotāju reģistrāciju, ievietot informāciju pēc vēlēšanās un lūgt padomu, kā rakstīt.
 Saimnieks| Publicēts 2022-2-11 14:04:39 |
Pavasara datu bāzes savienojuma virkne

Publicēts 2022-2-13 16:31:57 |
Iemācieties mācīties.
 Saimnieks| Publicēts 2024-4-25 08:38:32 |
C# izņēmums
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): autentifikācijas metode 'caching_sha2_password' neizdevās. Izmantojiet drošu savienojumu, norādiet servera RSA publisko atslēgu ar ServerRSAPublicKeyFile vai iestatiet AllowPublicKeyRetrieval=True.


šķīdums

Atruna:
Visa programmatūra, programmēšanas materiāli vai raksti, ko publicē Code Farmer Network, ir paredzēti tikai mācību un pētniecības mērķiem; Iepriekš minēto saturu nedrīkst izmantot komerciāliem vai nelikumīgiem mērķiem, pretējā gadījumā lietotājiem ir jāuzņemas visas sekas. Informācija šajā vietnē nāk no interneta, un autortiesību strīdiem nav nekāda sakara ar šo vietni. Iepriekš minētais saturs ir pilnībā jāizdzēš no datora 24 stundu laikā pēc lejupielādes. Ja jums patīk programma, lūdzu, atbalstiet oriģinālu programmatūru, iegādājieties reģistrāciju un iegūstiet labākus oriģinālus pakalpojumus. Ja ir kādi pārkāpumi, lūdzu, sazinieties ar mums pa e-pastu.

Mail To:help@itsvse.com