Tento článek je zrcadlovým článkem o strojovém překladu, klikněte zde pro přechod na původní článek.

Pohled: 13228|Odpověď: 3

[Zdroj] Java JDBC přepisuje BatchedStatements, povolí, PublicKeyRetrieval...

[Kopírovat odkaz]
Zveřejněno 11. 2. 2022 13:59:18 | | |
Optimalizováno výkon konfigurací rewriteBatchedStatements, allowPublicKeyRetrieval, allowMultiQuery a sslMode v Java JDBC.

Dokumentace všech konfiguračních vlastností jdbc:Přihlášení k hypertextovému odkazu je viditelné.

Přezkoumání:

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

povolitVeřejnéKlíčové vyhledávání

Při používání MySQL 8.0 jste po restartu aplikace vyzváni com.mysql.jdbc.exceptions.jdbc4.MySQL N.onTransientConnectionException: Vyhledávání veřejného klíče není povoleno

Nejjednodušší řešení je přidat ho až po připojeníallowPublicKeyRetrieval=true

Pokud uživatel použije sha256_password autentizaci, musí být heslo chráněno při přenosu pomocí protokolu TLS, ale pokud není dostupný veřejný klíč RSA, lze použít veřejný klíč poskytnutý serverem; Veřejný RSA klíč serveru lze zadat v spojení přes ServerRSAPublicKeyFile, nebo parametr AllowPublicKeyRetrieval=True, který umožní klientovi získat veřejný klíč ze serveru; Je však třeba poznamenat, že AllowPublicKeyRetrieval=True může způsobit, že škodliví agenti získávají hesla v otevřeném textu prostřednictvím útoků typu man-in-the-middle (MITM), takže je ve výchozím nastavení vypnutý a musí být explicitně povolen.



přepisovatDávkovaVýkazy

Aby bylo dosaženo vysoce výkonné dávkové vkládání, přidáním parametru rewriteBatchedStatements do URL JDBC spojení v MySQL a zajištěním záruky verze ovladače 5.1.13 nebo novší. Ve výchozím nastavení MySQL JDBC ovladač ignoruje příkaz executeBatch(), rozdělí sadu SQL příkazů, které očekáváme, že se spustí v dávkách, a odesílá je do MySQL databáze jednu po druhé.
Pouze nastavením parametru rewriteBatchedStatements na true bude ovladač vykonávat SQL v dávkách
Tato možnost platí také pro INSERT/UPDATE/DELETE

Ve výchozím nastavení ovladač MySQL Jdbc ignoruje příkaz executeBatch(), rozděluje sadu SQL příkazů, které očekáváme, že budou spuštěny v dávkách, a odesílá je do MySQL databáze jednu po druhé, což přímo způsobuje nízký výkon.

Pouze nastavením parametru rewriteBatchedStatements na true, ovladač vám pomůže spustit SQL ve velkém (jdbc:mysql://ip:port/db?)přepisovatBatchedStatements=pravda)


allowMultiQueries

Povolení k použití'; ' Rozděluje více dotazů (pravda/nepravda) v jednom tvrzení. Výchozí hodnota je "false", což neovlivňuje metody addBatch() a executeBatch(), které závisí na rewriteBatchStatements.

Když se MySQL připojí k databázi, přidejte příkaz:"allowMultiQueries=trueRole ":

1. Za SQL příkazem můžete nést středník pro dosažení vícenásobného vykonávání příkazů.
2. Lze provádět dávkové zpracování a vydat více SQL příkazů současně.


sslMode

Ve výchozím nastavení jsou síťová připojení šifrována přes SSL; Tato vlastnost vám umožňuje vypnout bezpečné připojení nebo zvolit jinou úroveň zabezpečení. Jsou povoleny následující hodnoty: "DISABLED" – je navázáno nešifrované spojení; "PREFERRED" - (výchozí) Pokud server povolí šifrovaná spojení, naváže se šifrované spojení, jinak se vrátí k nešifrovanému spojení; "POVINNÉ" – Navázejte bezpečné připojení, pokud server toto povolení ukázal, jinak selže; "VERIFY_CA" – Podobné jako "REQUIRED", ale navíc ověřuje TLS certifikát serveru vůči certifikátu konfigurované certifikační autority (CA); "VERIFY_IDENTITY" – jako "VERIFY_CA",

Tento atribut nahrazuje zastaralé atributy "useSSL", "requireSSL" a "verifyServerCertificate", které jsou stále přijímány, ale převádějí se na hodnotu "sslMode", pokud "sslMode" není explicitně nastaveno: "useSSL=false" se převede na "sslMode=disabled"; {"useSSL=true", "requireSSL=false", "verifyServerCertificate=false"} je přeloženo jako "sslMode=PREFERRED"; {"useSSL=true", "requireSSL=true", "verifyServerCertificate=false"} se překládá jako "sslMode=REQUIRED"; {"useSSL=true" A "verifyServerCertificate=true"} je přeloženo jako "Výchozí nastavení pro "sslMode" je "PREFERRED", což odpovídá tradičním nastavením "useSSL=true", "requireSSL=false" a "verifyServerCertificate=false", což je stejné jako u Connector/ Výchozí nastavení pro J 8.0.12 a starší verze se v některých případech liší. Aplikace, které nadále používají staré atributy a spoléhají na své výchozí nastavení, by měly být přezkoumány. Výchozím nastavením pro "sslMode" je "PREFERRED", což odpovídá tradičním nastavením "useSSL=true", "requireSSL=false" a "verifyServerCertificate=false", což se liší od výchozího nastavení pro Connector/J 8.0.12 a v některých případech starší. Aplikace, které nadále používají staré atributy a spoléhají na své výchozí nastavení, by měly být přezkoumány. V některých případech je to 12 let nebo dříve. Aplikace, které nadále používají staré atributy a spoléhají na své výchozí nastavení, by měly být přezkoumány. V některých případech je to 12 let nebo dříve. Aplikace, které nadále používají staré atributy a spoléhají na své výchozí nastavení, by měly být přezkoumány.

Pokud je "sslMode" explicitně nastaveno, stará vlastnost se ignoruje. Pokud není explicitně nastaveno "sslMode" nebo "useSSL", je aplikováno výchozí nastavení "sslMode=PREFERRED".

Nastavení JDBC pro vypnutí zabezpečených připojení:sslmode=disabled




Předchozí:Jak přejmenovávat soubory v dávkách v Linuxu
Další:Jak omezit tchajwanské uživatele v registraci, zveřejňování informací podle libosti a žádání o rady, jak psát.
 Pronajímatel| Zveřejněno 11. 2. 2022 14:04:39 |
Springová databáze connection string

Zveřejněno 13. 2. 2022 16:31:57 |
Učte se učit.
 Pronajímatel| Zveřejněno 25. 4. 2024 08:38:32 |
Výjimka 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): Autentizační metoda 'caching_sha2_password' selhala. Buď použijte zabezpečené připojení, zadejte veřejný RSA klíč serveru pomocí ServerRSAPublicKeyFile, nebo nastavte AllowPublicKeyRetrieval=True.


řešení

Zřeknutí se:
Veškerý software, programovací materiály nebo články publikované organizací Code Farmer Network slouží pouze k učení a výzkumu; Výše uvedený obsah nesmí být používán pro komerční ani nelegální účely, jinak nesou všechny důsledky uživatelé. Informace na tomto webu pocházejí z internetu a spory o autorská práva s tímto webem nesouvisí. Musíte výše uvedený obsah ze svého počítače zcela smazat do 24 hodin od stažení. Pokud se vám program líbí, podporujte prosím originální software, kupte si registraci a získejte lepší skutečné služby. Pokud dojde k jakémukoli porušení, kontaktujte nás prosím e-mailem.

Mail To:help@itsvse.com