Tento článok je zrkadlovým článkom o strojovom preklade, kliknite sem pre prechod na pôvodný článok.

Pohľad: 13228|Odpoveď: 3

[Zdroj] Java JDBC rewriteBatchedStatements umožňuje PublicKeyRetrieval...

[Kopírovať odkaz]
Zverejnené 11. 2. 2022 o 13:59:18 | | |
Optimalizoval výkon konfigurácií rewriteBatchedStatements, allowPublicKeyRetrieval, allowMultiQuery a sslMode v Java JDBC.

Dokumentácia všetkých konfiguračných vlastností jdbc:Prihlásenie na hypertextový odkaz je viditeľné.

Revízia:

.NET/C# Optimalizoval výkon SslMode pre MySQL databázy
https://www.itsvse.com/thread-9956-1-1.html

allowPublicKeyRetrieval

Pri používaní MySQL 8.0, po reštarte aplikácie, ste vyzvaní com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Vyhľadávanie verejného kľúča nie je povolené

Najjednoduchšie riešenie je pridať ho až po pripojeníallowPublicKeyRetrieval=true

Ak používateľ použije sha256_password autentifikáciu, heslo musí byť počas prenosu chránené pomocou protokolu TLS, ale ak verejný kľúč RSA nie je dostupný, môže sa použiť verejný kľúč poskytnutý serverom; Verejný kľúč RSA servera môže byť špecifikovaný v spojení cez ServerRSAPublicKeyFile, alebo parameter AllowPublicKeyRetrieval=True, aby klient mohol získať verejný kľúč zo servera; Treba však poznamenať, že AllowPublicKeyRetrieval=True môže spôsobiť, že škodliví agenti získajú heslá v otvorenom texte prostredníctvom útokov typu man-in-the-middle (MITM), preto je predvolene vypnutý a musí byť explicitne povolený.



prepísaťBatchedStatements

Aby sa dosiahlo vysokovýkonné dávkové vkladanie, pridaním parametra rewriteBatchedStatements k URL JDBC pripojenia v MySQL a zabezpečením, že verzia ovládača 5.1.13 alebo novšia je zaručená. V predvolenom nastavení MySQL JDBC ovládač ignoruje príkaz executeBatch(), rozdelí sadu SQL príkazov, ktoré očakávame, že budú vykonané v dávkach, a posiela ich do MySQL databázy jednu po druhej.
Iba nastavením parametra rewriteBatchedStatements na true bude ovládač vykonávať SQL v dávkach
Táto možnosť platí aj pre INSERT/UPDATE/DELETE

Predvolene ovládač MySQL Jdbc ignoruje príkaz executeBatch(), rozdeľuje súbor SQL príkazov, ktoré očakávame, že sa spustia v dávkach, a posiela ich do MySQL databázy jeden po druhom, čo priamo spôsobuje nízky výkon.

Iba nastavením parametra rewriteBatchedStatements na true, ovládač vám pomôže spustiť SQL vo veľkom (jdbc:mysql://ip:port/db?)prepísaťDávkovanéVýroky=pravda)


allowMultiQueries

Povolenie na použitie'; ' Rozdeľuje viacero dopytov (pravda/nepravda) v jednom tvrdení. Predvolená hodnota je "false", čo neovplyvňuje metódy addBatch() a executeBatch(), ktoré závisia od rewriteBatchStatements.

Keď sa MySQL pripojí k databáze, pridajte príkaz:"allowMultiQueries=trueÚloha ":

1. Za SQL príkazom môžete niesť bodkočiarku, aby ste dosiahli vykonávanie viacerých príkazov.
2. Je možné vykonať dávkové spracovanie a naraz vydať viacero SQL príkazov.


sslMode

Sieťové pripojenia sú predvolene šifrované cez SSL; Táto vlastnosť vám umožňuje vypnúť bezpečné pripojenie alebo zvoliť inú úroveň bezpečnosti. Povolené sú nasledujúce hodnoty: "DISABLED" – nadviaže sa nešifrované spojenie; "PREFERRED" - (predvolené) Ak server povolí šifrované spojenia, nadviaže sa šifrované spojenie, inak sa vráti k nešifrovanému pripojeniu; "POVINNÉ" – Nadviazať bezpečné spojenie, ak ho server povolil, inak zlyhá; "VERIFY_CA" - Podobné ako "REQUIRED", ale navyše overuje TLS certifikát servera voči certifikátu nakonfigurovanej certifikačnej autority (CA); "VERIFY_IDENTITY" - ako "VERIFY_CA",

Tento atribút nahrádza zastarané staré atribúty "useSSL", "requireSSL" a "verifyServerCertificate", ktoré sú stále akceptované, ale konvertujú na hodnotu "sslMode", ak "sslMode" nie je explicitne nastavené: "useSSL=false" sa konvertuje na "sslMode=disabled"; {"useSSL=true", "requireSSL=false", "verifyServerCertificate=false"} sa prekladá ako "sslMode=PREFERRED"; {"useSSL=true", "requireSSL=true", "verifyServerCertificate=false"} sa prekladá ako "sslMode=REQUIRED"; {"useSSL=true" A "verifyServerCertificate=true"} sa prekladá ako "Predvolené nastavenie pre "sslMode" je "PREFERRED", čo je ekvivalentné tradičným nastaveniam "useSSL=true", "requireSSL=false" a "verifyServerCertificate=false", čo je rovnaké ako v Connector/ Predvolené nastavenia pre J 8.0.12 a staršie verzie sú v niektorých prípadoch odlišné. Aplikácie, ktoré naďalej používajú staré atribúty a spoliehajú sa na svoje pôvodné nastavenia, by mali byť prehodnotené. Predvolené nastavenie pre "sslMode" je "PREFERRED", čo je ekvivalentné tradičným nastaveniam "useSSL=true", "requireSSL=false" a "verifyServerCertificate=false", čo sa líši od predvoleného nastavenia pre Connector/J 8.0.12 a staršie v niektorých prípadoch. Aplikácie, ktoré naďalej používajú staré atribúty a spoliehajú sa na svoje pôvodné nastavenia, by mali byť prehodnotené. V niektorých prípadoch je to 12 alebo skôr. Aplikácie, ktoré naďalej používajú staré atribúty a spoliehajú sa na svoje pôvodné nastavenia, by mali byť prehodnotené. V niektorých prípadoch je to 12 alebo skôr. Aplikácie, ktoré naďalej používajú staré atribúty a spoliehajú sa na svoje pôvodné nastavenia, by mali byť prehodnotené.

Ak je "sslMode" explicitne nastavené, stará vlastnosť sa ignoruje. Ak "sslMode" alebo "useSSL" nie je explicitne nastavené, aplikuje sa predvolené nastavenie "sslMode=PREFERRED".

Nastavenia JDBC na vypnutie bezpečných pripojení:sslmode=vypnutý




Predchádzajúci:Ako premenovať súbory v dávkach v Linuxe
Budúci:Ako obmedziť registráciu taiwanských používateľov, zverejňovanie informácií podľa potreby a žiadanie o rady, ako písať.
 Prenajímateľ| Zverejnené 11. 2. 2022 o 14:04:39 |
Reťazec spojenia Spring Database

Zverejnené 2022-2-13 16:31:57 |
Naučte sa učiť.
 Prenajímateľ| Zverejnené 25.4.2024 08:38:32 |
Výnimka 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): Autentifikačná metóda 'caching_sha2_password' zlyhala. Buď použite zabezpečené pripojenie, zadajte verejný kľúč RSA servera pomocou ServerRSAPublicKeyFile, alebo nastavte AllowPublicKeyRetrieval=True.


riešenie

Vyhlásenie:
Všetok softvér, programovacie materiály alebo články publikované spoločnosťou Code Farmer Network slúžia len na vzdelávacie a výskumné účely; Vyššie uvedený obsah nesmie byť použitý na komerčné alebo nezákonné účely, inak nesú všetky následky používateľmi. Informácie na tejto stránke pochádzajú z internetu a spory o autorské práva s touto stránkou nesúvisia. Musíte úplne vymazať vyššie uvedený obsah zo svojho počítača do 24 hodín od stiahnutia. Ak sa vám program páči, podporte originálny softvér, zakúpte si registráciu a získajte lepšie originálne služby. Ak dôjde k akémukoľvek porušeniu, kontaktujte nás prosím e-mailom.

Mail To:help@itsvse.com