Ta članek je zrcalni članek strojnega prevajanja, kliknite tukaj za skok na izvirni članek.

Pogled: 13228|Odgovoriti: 3

[Vir] Java JDBC-jev rewriteBatchedStatements, omogočaPublicKeyRetrieval...

[Kopiraj povezavo]
Objavljeno 2022-2-11 ob 13:59:18 | | |
Optimiziral je zmogljivost Java JDBC-jevih konfiguracij rewriteBatchedStatements, allowPublicKeyRetrieval, allowMultiQuery in sslMode.

Dokumentacija vseh konfiguracijskih lastnosti jdbc:Prijava do hiperpovezave je vidna.

Pregled:

.NET/C# Optimiziral zmogljivost SslMode za MySQL baze podatkov
https://www.itsvse.com/thread-9956-1-1.html

allowPublicKeyRetrieval

Ko uporabljate MySQL 8.0, po ponovnem zagonu aplikacije, ste pozvani k com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Pridobivanje javnega ključa ni dovoljeno

Najlažja rešitev je, da jo dodaš po povezaviallowPublicKeyRetrieval=true

Če uporabnik uporablja sha256_password avtentikacijo, mora biti geslo med prenosom zaščiteno s protokolom TLS, če pa javni ključ RSA ni na voljo, se lahko uporabi javni ključ, ki ga zagotovi strežnik; RSA javni ključ strežnika je mogoče določiti v povezavi preko ServerRSAPublicKeyFile ali parametra AllowPublicKeyRetrieval=True, da odjemalec pridobi javni ključ od strežnika; Vendar pa je treba opozoriti, da lahko AllowPublicKeyRetrieval=True povzroči, da zlonamerni agenti pridobijo gesla v osnovnem besedilu preko man-in-the-middle napadov (MITM), zato je privzeto izklopljen in mora biti izrecno omogočen.



prepišiBatchedStatements

Da bi dosegli visoko zmogljivo serijsko vstavljanje z dodajanjem parametra rewriteBatchedStatements v URL JDBC povezave v MySQL in zagotavljanjem garancije za gonilnik 5.1.13 ali novejšo. Privzeto MySQL JDBC gonilnik ignorira ukaz executeBatch(), razdeli niz SQL ukazov, ki jih pričakujemo, da bodo izvedeni v serijah, in jih enega za drugim pošlje v MySQL bazo podatkov.
Le z nastavitvijo parametra rewriteBatchedStatements na true bo gonilnik SQL izvajal v serijah
Ta možnost velja tudi za INSERT/UPDATE/DELETE

Privzeto MySQL Jdbc gonilnik ignorira ukaz executeBatch(), razbije niz SQL stavkov, za katere pričakujemo, da jih bodo izvajali v serijah, in jih enega za drugim pošlje v MySQL bazo podatkov, kar neposredno povzroča nizko zmogljivost.

Samo z nastavitvijo parametra rewriteBatchedStatements na true, vam gonilnik pomaga izvajati SQL v množični obliki (jdbc:mysql://ip:port/db?)rewriteBatchedStatements=resnično)


allowMultiQueries

Dovoljenje za uporabo'; ' Loči več poizvedb (resnično/neresnično) v eni izjavi. Privzeta vrednost je "false", kar ne vpliva na metode addBatch() in executeBatch(), ki sta odvisni od rewriteBatchStatements.

Ko se MySQL poveže z bazo podatkov, dodajte izjavo:"allowMultiQueries=trueVloga ":

1. Za SQL izjavo lahko uporabite podpičje, da dosežete izvajanje več stavkov.
2. Lahko se izvaja paketno procesiranje in hkrati se izdajo več SQL izjav.


sslMode

Privzeto so omrežne povezave šifrirane prek SSL; Ta lastnost vam omogoča, da izklopite varno povezavo ali izberete drugo stopnjo varnosti. Dovoljene so naslednje vrednosti: "DISABLED" – vzpostavi se nešifrirana povezava; "PREDNOSTNO" - (privzeto) Če strežnik omogoči šifrirane povezave, se vzpostavi šifrirana povezava, sicer se povezava vrne na nešifrirano povezavo; "ZAHTEVANO" - Vzpostavite varno povezavo, če jo je strežnik omogočil, sicer ne uspe; "VERIFY_CA" - Podobno kot "REQUIRED", vendar dodatno preverja TLS certifikat strežnika glede na potrdilo konfiguriranega certifikacijskega organa (CA); "VERIFY_IDENTITY" - kot "VERIFY_CA",

Ta atribut zamenja zastarele atribute "useSSL", "requireSSL" in "verifyServerCertificate", ki so še vedno sprejeti, vendar pretvorjeni v vrednost "sslMode", če "sslMode" ni izrecno nastavljen: "useSSL=false" se pretvori v "sslMode=disabled"; {"useSSL=true", "requireSSL=false", "verifyServerCertificate=false"} je prevedeno kot "sslMode=PREFERRED"; {"useSSL=true", "requireSSL=true", "verifyServerCertificate=false"} je prevedeno kot "sslMode=REQUIRED"; {"useSSL=true" IN "verifyServerCertificate=true"} je prevedeno kot "Privzeta nastavitev za "sslMode" je "PREFERRED", kar je ekvivalentno tradicionalnim nastavitvam "useSSL=true", "requireSSL=false" in "verifyServerCertificate=false", ki so enake kot pri Connector/ Privzete nastavitve za J 8.0.12 in starejše različice so v nekaterih primerih drugačne. Aplikacije, ki še vedno uporabljajo stare atribute in se zanašajo na stare privzete nastavitve, je treba pregledati. Privzeta nastavitev za "sslMode" je "PREFERRED", ki je enakovredna tradicionalnim nastavitvam "useSSL=true", "requireSSL=false" in "verifyServerCertificate=false", kar se razlikuje od privzete nastavitve za Connector/J 8.0.12 in starejše v nekaterih primerih. Aplikacije, ki še vedno uporabljajo stare atribute in se zanašajo na stare privzete nastavitve, je treba pregledati. V nekaterih primerih je to 12 let ali prej. Aplikacije, ki še vedno uporabljajo stare atribute in se zanašajo na stare privzete nastavitve, je treba pregledati. V nekaterih primerih je to 12 let ali prej. Aplikacije, ki še vedno uporabljajo stare atribute in se zanašajo na stare privzete nastavitve, je treba pregledati.

Če je "sslMode" eksplicitno nastavljen, se stara lastnost ignorira. Če "sslMode" ali "useSSL" ni izrecno nastavljen, se uporabi privzeta nastavitev "sslMode=PREFERRED".

JDBC nastavitve za izklop varnih povezav:sslmode=onemogočen




Prejšnji:Kako preimenovati datoteke v serijah v Linuxu
Naslednji:Kako omejiti tajvanske uporabnike pri registraciji, objavljanje informacij po lastni presoji in prositi za nasvete, kako pisati.
 Najemodajalec| Objavljeno 2022-2-11 ob 14:04:39 |
Povezovalni niz Spring Database

Objavljeno 2022-2-13 ob 16:31:57 |
Nauči se učiti.
 Najemodajalec| Objavljeno 25. 4. 2024 ob 08:38:32 |
Izjema C#
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): Metoda avtentikacije 'caching_sha2_password' ni uspela. Uporabite varno povezavo, določite javni ključ RSA strežnika s ServerRSAPublicKeyFile ali nastavite AllowPublicKeyRetrieval=True.


rešitev

Disclaimer:
Vsa programska oprema, programski materiali ali članki, ki jih izdaja Code Farmer Network, so namenjeni zgolj učnim in raziskovalnim namenom; Zgornja vsebina ne sme biti uporabljena v komercialne ali nezakonite namene, sicer uporabniki nosijo vse posledice. Informacije na tej strani prihajajo z interneta, spori glede avtorskih pravic pa nimajo nobene zveze s to stranjo. Zgornjo vsebino morate popolnoma izbrisati z računalnika v 24 urah po prenosu. Če vam je program všeč, podprite pristno programsko opremo, kupite registracijo in pridobite boljše pristne storitve. Če pride do kakršne koli kršitve, nas prosimo kontaktirajte po elektronski pošti.

Mail To:help@itsvse.com