Ez a cikk egy tükör gépi fordítás, kérjük, kattintson ide, hogy ugorjon az eredeti cikkre.

Nézet: 13228|Válasz: 3

[Forrás] Java JDBC rewriteBatchedStatements, allowPublicKeyRetrieval...

[Linket másol]
Közzétéve: 2022-2-11 13:59:18 | | |
Optimalizáltam a Java JDBC rewriteBatchedStatements, allowPublicKeyRetrieval, allowMultiQueries és sslMode konfigurációinak teljesítményét.

jdbc Minden konfigurációs tulajdonságok dokumentáció:A hiperlink bejelentkezés látható.

Szemle:

.NET/C# Optimalizálta az SslMode teljesítményét MySQL adatbázisokhoz
https://www.itsvse.com/thread-9956-1-1.html

allowPublicKeyRetrieval

MySQL 8.0 használatkor, az alkalmazás újraindítása után a com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Nyilvános kulcs lekérdezés nem engedélyezett

A legegyszerűbb megoldás, ha a csatlakozás után adod hozzáallowPublicKeyRetrieval=true

Ha a felhasználó sha256_password hitelesítést használ, a jelszót továbbítás közben a TLS protokoll segítségével kell védeni, de ha az RSA nyilvános kulcs nem elérhető, akkor a szerver által biztosított nyilvános kulcs használható; A szerver RSA nyilvános kulcsa megadható a kapcsolatban a ServerRSAPublicKeyFile vagy az AllowPublicKeyRetrieval=True paraméter segítségével, hogy a kliens megszerezze a nyilvános kulcsot a szervertől; Ugyanakkor meg kell jegyezni, hogy az AllowPublicKeyRetrieval=True képes arra, hogy rosszindulatú ügynökök tiszta szövegű jelszavakat szerezzenek, amelyek man-in-the-middle támadások (MITM) révén szereznek, ezért alapértelmezés szerint ki van kapcsolva, és kifejezetten be kell kapcsolni.



rewriteBatchedStatements

A nagy teljesítményű batch beillesztés eléréséhez úgy kell hozzáadni, hogy a rewriteBatchedStatements paramétert hozzáadjuk a JDBC kapcsolat URL-jéhez MySQL-ben, és biztosítsuk, hogy az 5.1.13-as vagy újabb illesztőprogram garantált legyen. Alapértelmezés szerint a MySQL JDBC illesztőszer figyelmen kívül hagyja az executeBatch() utasítást, felosztja azokat az SQL utasításokat, amelyeket várunk csomagokban végrehajtani, és egyenként elküldi azokat a MySQL adatbázisba.
Csak ha a rewriteBatchedStatements paramétert true-ra állítja, hajtja végre az SQL rendszert csomagokban
Ez az opció INSERT/UPDATE/DELETE esetén is érvényes

Alapértelmezés szerint a MySQL Jdbc illesztőprogram figyelmen kívül hagyja az executeBatch() utasítást, felbontja azokat az SQL utasításokat, amelyeket várunk csomagokban futtatni, és egyenként elküldi azokat a MySQL adatbázisba, ami közvetlenül alacsony teljesítményt okoz.

Csak ha a rewriteBatchedStatements paramétert true-ra állítjuk, segít az illezőgép tömegesen végrehajtani az SQL-t (jdbc:mysql://ip:port/db?)rewriteBatchedStatements=true)


allowMultiQueries

Használati engedély'; ' Több lekérdezést (igaz/hamis) választ el egyetlen állításban. Az alapértelmezett érték "false", ami nem befolyásolja az addBatch() és executeBatch() metódusokat, amelyek a rewriteBatchStatements-től függenek.

Amikor a MySQL csatlakozik egy adatbázishoz, add hozzá a következő állítást:allowMultiQueries=trueA ": szerepe:

1. Az SQL utasítás után egy szemesköpletet is hordozhatsz, hogy többszörös utasítást végrehajts.
2. Kötött feldolgozás elvégezhető, és egyszerre több SQL utasítás is kiadható.


sslMode

Alapértelmezés szerint a hálózati kapcsolatok SSL titkosított; Ez a tulajdonság lehetővé teszi, hogy kikapcsold a biztonságos kapcsolatot, vagy válassz egy másik biztonsági szintet. A következő értékek engedélyezettek: "DISABLED" – titkosítatlan kapcsolat létrejött; "PREFERRED" – (alapértelmezett) Ha a szerver titkosított kapcsolatokat engedélyez, titkosított kapcsolat jön létre, különben visszakerül titkosítatlan kapcsolatra; "SZÜKSÉGES" – Biztonságos kapcsolat létrehozása, ha a szerver engedélyezte, különben meghibásodik; "VERIFY_CA" – Hasonló a "REQUIRED"-hez, de emellett érvényesíti a szerver TLS tanúsítványt a konfigurált tanúsítványhatóság (CA) tanúsítvánnyal; "VERIFY_IDENTITY" – mint a "VERIFY_CA",

Ez az attribútum váltja fel a régi, elavult attribútumokat, mint a "useSSL", "requireSSL" és "verifyServerCertificate", amelyek továbbra is elfogadottak, de átalakítva "sslMode" értékre, ha az "sslMode" nincs kifejezetten beállítva: a "useSSL=false" átalakítva "sslMode=disabled"-re; {"useSSL=true", "requireSSL=false", "verifyServerCertificate=false"} úgy fordítható, mint "sslMode=PREFERRED"; {"useSSL=true", "requireSSL=true", "verifyServerCertificate=false"} úgy fordítható, mint "sslMode=REQUIRED"; {"useSSL=true" ÉS "verifyServerCertificate=true"} úgy fordítható, hogy "Az "sslMode" alapértelmezett beállítása "PREFERRED", ami megfelel a hagyományos "useSSL=true", "requireSSL=false" és "verifyServerCertificate=false" beállításoknak, amelyek megegyeznek a Connector/ A J 8.0.12 és korábbi verziók alapértelmezett beállításai bizonyos esetekben eltérőek. Azokat az alkalmazásokat, amelyek továbbra is a régi attribútumokat használják és a régi alapértelmezéseikre támaszkodnak, felül kell nézni. Az "sslMode" alapértelmezett beállítása a "PREFERRED", ami megfelel a hagyományos "useSSL=true", "requireSSL=false" és "verifyServerCertificate=false" beállításokkal, amelyek bizonyos esetekben eltérnek a Connector/J 8.0.12 és korábbi verziók alapértelmezett beállításaitól. Azokat az alkalmazásokat, amelyek továbbra is a régi attribútumokat használják és a régi alapértelmezéseikre támaszkodnak, felül kell nézni. Néha 12 éves vagy korábban. Azokat az alkalmazásokat, amelyek továbbra is a régi attribútumokat használják és a régi alapértelmezéseikre támaszkodnak, felül kell nézni. Néha 12 éves vagy korábban. Azokat az alkalmazásokat, amelyek továbbra is a régi attribútumokat használják és a régi alapértelmezéseikre támaszkodnak, felül kell nézni.

Ha a "sslMode" kifejezetten be van állítva, a régi tulajdonságot figyelmen kívül hagyjuk. Ha a "sslMode" vagy a "useSSL" nincs kifejezetten beállítva, akkor az alapértelmezett "sslMode=PREFERRED" beállítás kerül alkalmazásra.

JDBC beállítások a biztonságos kapcsolatok kikapcsolásához:SSLMODE=letiltott




Előző:Hogyan nevezzük át fájlokat csomagokban Linuxban
Következő:Hogyan lehet korlátozni a tajvani felhasználók regisztrációját, hogyan posztoljon meg akaratot az információkat, és kérjen tanácsot az íráshoz.
 Háziúr| Közzétéve: 2022-2-11 14:04:39 |
Rugós adatbázis-kapcsolati string

Közzétéve: 2022-2-13 16:31:57 |
Tanulj meg.
 Háziúr| Közzétéve: 2024-4-25 08:38:32 |
c# kivétel
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): A 'caching_sha2_password' hitelesítési módszer meghibásodott. Vagy használj biztonságos kapcsolatot, vagy megadjuk a szerver RSA nyilvános kulcsát a ServerRSAPublicKeyFile segítségével, vagy állítsd be az AllowPublicKeyRetrieval=True-t.


megoldás

Lemondás:
A Code Farmer Network által közzétett összes szoftver, programozási anyag vagy cikk kizárólag tanulási és kutatási célokra szolgál; A fenti tartalmat nem szabad kereskedelmi vagy illegális célokra használni, különben a felhasználók viselik az összes következményet. Az oldalon található információk az internetről származnak, és a szerzői jogi vitáknak semmi köze ehhez az oldalhoz. A fenti tartalmat a letöltés után 24 órán belül teljesen törölni kell a számítógépéről. Ha tetszik a program, kérjük, támogassa a valódi szoftvert, vásároljon regisztrációt, és szerezzen jobb hiteles szolgáltatásokat. Ha bármilyen jogsértés történik, kérjük, vegye fel velünk a kapcsolatot e-mailben.

Mail To:help@itsvse.com