Šis straipsnis yra veidrodinis mašininio vertimo straipsnis, spauskite čia norėdami pereiti prie originalaus straipsnio.

Rodinys: 13228|Atsakyti: 3

[Šaltinis] Java JDBC rewriteBatchedStatements, allowPublicKeyRetrieval...

[Kopijuoti nuorodą]
Publikuota: 2022-2-11 13:59:18 | | |
Optimizuotas "Java JDBC" rewriteBatchedStatements, allowPublicKeyRetrieval, allowMultiQueries ir sslMode konfigūracijų našumas.

jdbc Visos konfigūracijos ypatybių dokumentacija:Hipersaito prisijungimas matomas.

Peržiūra:

.NET/C# Optimizuotas SslMode našumas MySQL duomenų bazėms
https://www.itsvse.com/thread-9956-1-1.html

allowPublicKeyRetrieval

Kai naudojate "MySQL 8.0", iš naujo paleidę programą, būsite paraginti com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: viešojo rakto gavimas neleidžiamas

Paprasčiausias sprendimas yra pridėti jį po ryšioallowPublicKeyRetrieval=true

Jei vartotojas naudoja sha256_password autentifikavimą, slaptažodis turi būti apsaugotas perduodant naudojant TLS protokolą, tačiau jei RSA viešojo rakto nėra, galima naudoti serverio pateiktą viešąjį raktą; Serverio RSA viešasis raktas gali būti nurodytas ryšyje per ServerRSAPublicKeyFile arba parametrą AllowPublicKeyRetrieval=True, kad klientas galėtų gauti viešąjį raktą iš serverio; Tačiau reikia pažymėti, kad AllowPublicKeyRetrieval=True gali priversti kenkėjiškus agentus gauti paprasto teksto slaptažodžius per "man-in-the-middle" atakas (MITM), todėl pagal numatytuosius nustatymus jis yra išjungtas ir turi būti aiškiai įjungtas.



rewriteBatchedStatements

Siekiant didelio našumo paketo įterpimo, pridedant parametrą rewriteBatchedStatements prie JDBC ryšio URL MySQL ir užtikrinant, kad būtų garantuota tvarkyklės versija 5.1.13 ar naujesnė. Pagal numatytuosius nustatymus MySQL JDBC tvarkyklė nepaiso executeBatch() sakinio, padalija SQL sakinių rinkinį, kurį tikimės vykdyti paketais, ir siunčia juos į MySQL duomenų bazę po vieną.
Tik nustačius parametrą rewriteBatchedStatements į true, tvarkyklė vykdys SQL paketais
Ši parinktis taip pat galioja INSERT/UPDATE/DELETE

Pagal numatytuosius nustatymus MySQL Jdbc tvarkyklė nepaiso executeBatch() sakinio, suskaido SQL sakinių rinkinį, kurį tikimės vykdyti paketais, ir siunčia juos į MySQL duomenų bazę po vieną, o tai tiesiogiai sukelia mažą našumą.

Tik nustačius parametrą rewriteBatchedStatements į true, tvarkyklė padės masiškai vykdyti SQL (jdbc:mysql://ip:port/db?)rewriteBatchedStatements=true)


allowMultiQueries

Leidimas naudoti"; ' Atskiria kelias užklausas (teisinga / klaidinga) viename sakinyje. Numatytoji reikšmė yra "false", kuri neturi įtakos addBatch() ir executeBatch() metodams, kurie priklauso nuo rewriteBatchStatements.

Kai MySQL prisijungia prie duomenų bazės, pridėkite pareiškimą:"allowMultiQueries=trueVaidmuo ":

1. Po SQL sakinio galite nešiotis kabliataškį, kad pasiektumėte kelių teiginių vykdymą.
2. Vienu metu galima atlikti paketinį apdorojimą ir išduoti kelis SQL sakinius.


ssl režimas

Pagal numatytuosius nustatymus tinklo ryšiai yra užšifruoti SSL; Ši ypatybė leidžia išjungti saugų ryšį arba pasirinkti kitą saugos lygį. Leidžiamos šios reikšmės: "DISABLED" - užmegztas neužšifruotas ryšys; "PAGEIDAUTINA" - (numatytasis) Jei serveris įgalina užšifruotus ryšius, užmezgamas užšifruotas ryšys, kitaip jis grįžta prie neužšifruoto ryšio; "BŪTINA" - užmegzkite saugų ryšį, jei serveris jį įjungė, kitaip jis nepavyksta; "VERIFY_CA" - panašus į "REQUIRED", bet papildomai patvirtina serverio TLS sertifikatą pagal sukonfigūruotą sertifikavimo institucijos (CA) sertifikatą; "VERIFY_IDENTITY" - kaip "VERIFY_CA",

Šis atributas pakeičia pasenusius senus atributus "useSSL", "requireSSL" ir "verifyServerCertificate", kurie vis dar priimami, bet konvertuojami į "sslMode" reikšmę, jei "sslMode" nėra aiškiai nustatytas: "useSSL=false" konvertuojamas į "sslMode=disabled"; {"useSSL=true", "requireSSL=false", "verifyServerCertificate=false"} yra išverstas kaip "sslMode=PREFERRED"; {"useSSL=true", "requireSSL=true", "verifyServerCertificate=false"} yra išverstas kaip "sslMode=REQUIRED"; {"useSSL=true" AND "verifyServerCertificate=true"} yra išverstas kaip "Numatytasis "sslMode" nustatymas yra "PREFERRED", kuris atitinka tradicinius "useSSL=true", "requireSSL=false" ir "verifyServerCertificate=false" nustatymus, kurie yra tokie patys kaip Connector/ Numatytieji J 8.0.12 ir ankstesnių versijų nustatymai kai kuriais atvejais skiriasi. Reikia peržiūrėti programas, kurios ir toliau naudoja senus atributus ir remiasi senaisiais numatytaisiais nustatymais. Numatytasis "sslMode" nustatymas yra "PREFERRED", kuris atitinka tradicinius "useSSL=true", "requireSSL=false" ir "verifyServerCertificate=false" nustatymus, kurie kai kuriais atvejais skiriasi nuo numatytojo "Connector/ J 8.0.12" ir ankstesnių versijų nustatymų. Reikia peržiūrėti programas, kurios ir toliau naudoja senus atributus ir remiasi senaisiais numatytaisiais nustatymais. Kai kuriais atvejais tai yra 12 ar anksčiau. Reikia peržiūrėti programas, kurios ir toliau naudoja senus atributus ir remiasi senaisiais numatytaisiais nustatymais. Kai kuriais atvejais tai yra 12 ar anksčiau. Reikia peržiūrėti programas, kurios ir toliau naudoja senus atributus ir remiasi senaisiais numatytaisiais nustatymais.

Jei "sslMode" yra aiškiai nustatytas, senosios ypatybės nepaisoma. Jei "sslMode" arba "useSSL" nėra aiškiai nustatyti, taikomas numatytasis nustatymas "sslMode=PREFERRED".

JDBC parametrai, skirti išjungti saugius ryšius:sslmode=išjungta




Ankstesnis:Kaip pervardyti failus paketais sistemoje "Linux".
Kitą:Kaip apriboti Taivano vartotojų registraciją, skelbti informaciją savo nuožiūra ir paprašyti patarimo, kaip rašyti.
 Savininkas| Paskelbta 2022-2-11 14:04:39 |
Spyruoklinė duomenų bazės ryšio eilutė

Publikuota: 2022-2-13 16:31:57 |
Išmokite mokytis.
 Savininkas| Publikuota: 2024-4-25 08:38:32 |
C# išimtis
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): nepavyko autentifikavimo metodo caching_sha2_password. Naudokite saugų ryšį, nurodykite serverio RSA viešąjį raktą naudodami ServerRSAPublicKeyFile arba nustatykite AllowPublicKeyRetrieval=True.


sprendimas

Atsakomybės apribojimas:
Visa programinė įranga, programavimo medžiaga ar straipsniai, kuriuos skelbia Code Farmer Network, yra skirti tik mokymosi ir mokslinių tyrimų tikslams; Aukščiau nurodytas turinys negali būti naudojamas komerciniais ar neteisėtais tikslais, priešingu atveju vartotojai prisiima visas pasekmes. Šioje svetainėje pateikiama informacija gaunama iš interneto, o ginčai dėl autorių teisių neturi nieko bendra su šia svetaine. Turite visiškai ištrinti aukščiau pateiktą turinį iš savo kompiuterio per 24 valandas nuo atsisiuntimo. Jei jums patinka programa, palaikykite autentišką programinę įrangą, įsigykite registraciją ir gaukite geresnes autentiškas paslaugas. Jei yra kokių nors pažeidimų, susisiekite su mumis el. paštu.

Mail To:help@itsvse.com