|
|
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:
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.
|