|
|
Postitatud 2022-2-11 13:59:18
|
|
|

Optimeeritud Java JDBC rewriteBatchedStatements, allowPublicKeyRetrieval, allowMultiQueries ja sslMode konfiguratsioonide jõudlus.
jdbc Kõik konfiguratsiooniomaduste dokumentatsioon:Hüperlingi sisselogimine on nähtav.
Läbivaatamine:
allowPublicKeyRetrieval
MySQL 8.0 kasutamisel kuvatakse pärast rakenduse taaskäivitamist com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Avaliku võtme leidmine ei ole lubatud
Lihtsaim lahendus on lisada see pärast ühenduse loomistallowPublicKeyRetrieval=true
Kui kasutaja kasutab sha256_password autentimist, tuleb parool edastamisel kaitsta TLS-protokolli abil, kuid kui RSA avalik võti pole saadaval, võib kasutada serveri poolt antud avalikku võtit; Serveri RSA avalikku võtit saab ühenduses määrata ServerRSAPublicKeyFile või parameetri AllowPublicKeyRetrieval=True kaudu, et klient saaks avaliku võtme serverilt; Siiski tuleb märkida, et AllowPublicKeyRetrieval=True võib põhjustada pahatahtlike agentide jaoks selgesõnaliste paroolide hankimist man-in-the-middle rünnakute (MITM) kaudu, seega on see vaikimisi välja lülitatud ja peab olema selgesõnaliselt lubatud.
rewriteBatchedStatements
Kõrge jõudlusega partii lisamise saavutamiseks lisatakse rewriteBatchedStatements parameeter JDBC ühenduse URL-ile MySQL-is ja tagatakse, et draiveri versioon 5.1.13 või hilem on garanteeritud. Vaikimisi ignoreerib MySQL JDBC draiver executeBatch() lauset, jagab SQL-laused, mida ootame partiidena täitvat, ja saadab need ükshaaval MySQL andmebaasi. Ainult seades rewriteBatchedStatements parameetri tõeks, käivitab draiver SQL-i partiidena See valik kehtib ka INSERT/UPDATE/DELETE puhul
Vaikimisi ignoreerib MySQL Jdbc draiver executeBatch() lauset, jagab SQL-lauseid, mida ootame partiidena täitma, ja saadab need ükshaaval MySQL andmebaasi, mis otseselt põhjustab madalat jõudlust.
Ainult rewriteBatchedStatements parameetri true'ks seaddes aitab draiver SQL-i hulgi käivitada (jdbc:mysql://ip:port/db?).rewriteBatchedStatements=true)
allowMultiQueries
Luba kasutada'; ' Eraldab mitu päringut (tõene/väär) ühes lauses. Vaikimisi väärtus on "false", mis ei mõjuta addBatch() ja executeBatch() meetodeid, mis sõltuvad rewriteBatchStatementsist.
Kui MySQL ühendub andmebaasiga, lisa lause:allowMultiQueries=true":
1. SQL lause järel saab kanda semikoolonit, et saavutada mitme lause täitmine. 2. Partiitöötlust saab teha ja samaaegselt väljastada mitu SQL-lauset.
sslMode
Vaikimisi on võrguühendused SSL-krüpteeritud; See omadus võimaldab sul turvalise ühenduse välja lülitada või valida teise turvataseme. Lubatud on järgmised väärtused: "DISABLED" – luuakse krüpteerimata ühendus; "EELISTATUD" – (vaikimisi) Kui server lubab krüpteeritud ühendusi, luuakse krüpteeritud ühendus, vastasel juhul langeb see tagasi krüpteerimata ühendusele; "VAJALIK" – Loo turvaline ühendus, kui server on selle lubanud, vastasel juhul see ebaõnnestub; "VERIFY_CA" – Sarnane "VAJALIK"-le, kuid lisaks valideerib serveri TLS-sertifikaadi konfigureeritud sertifikaadiautoriteedi (CA) sertifikaadi vastu; "VERIFY_IDENTITY" - nagu "VERIFY_CA",
See atribuut asendab vananenud vanad atribuudid "useSSL", "requireSSL" ja "verifyServerCertificate", mis on endiselt aktsepteeritud, kuid teisendatud väärtuseks "sslMode", kui "sslMode" ei ole selgesõnaliselt seatud: "useSSL=false" teisendatakse "sslMode=disabled"-iks; {"useSSL=true", "requireSSL=false", "verifyServerCertificate=false"} tõlgitakse kui "sslMode=PREFERRED"; {"useSSL=true", "requireSSL=true", "verifyServerCertificate=false"} tõlgitakse kui "sslMode=REQUIRED"; {"useSSL=true" JA "verifyServerCertificate=true"} tõlgitakse kui "sslMode" vaikimisi seadistus on "PREFERRED", mis vastab traditsioonilistele "useSSL=true", "requireSSL=false" ja "verifyServerCertificate=false" seadetele, mis on sama mis Connector/ J 8.0.12 ja varasemate versioonide vaikeseaded on mõnel juhul erinevad. Rakendused, mis jätkavad vanade atribuutide kasutamist ja tuginevad oma vanadele vaikeseadetele, tuleks üle vaadata. Vaikimisi seadistus "sslMode" jaoks on "EELISTATUD", mis vastab traditsioonilistele seadistustele "useSSL=true", "requireSSL=false" ja "verifyServerCertificate=false", mis erineb mõnel juhul Connector/J 8.0.12 ja varasemate vaikimisi seadistustest. Rakendused, mis jätkavad vanade atribuutide kasutamist ja tuginevad oma vanadele vaikeseadetele, tuleks üle vaadata. Mõnel juhul on see 12 või varem. Rakendused, mis jätkavad vanade atribuutide kasutamist ja tuginevad oma vanadele vaikeseadetele, tuleks üle vaadata. Mõnel juhul on see 12 või varem. Rakendused, mis jätkavad vanade atribuutide kasutamist ja tuginevad oma vanadele vaikeseadetele, tuleks üle vaadata.
Kui "sslMode" on selgelt seatud, ignoreeritakse vana omadust. Kui "sslMode" või "useSSL" ei ole selgelt seatud, rakendatakse vaikimisi seadistus "sslMode=PREFERRED".
JDBC seaded turvaliste ühenduste väljalülitamiseks:sslmode=keelatud
|
Eelmine:Kuidas Linuxis faile partiidena ümber nimetadaJärgmine:Kuidas piirata Taiwani kasutajate registreerimist, postitada infot soovi korral ja küsida nõu, kuidas kirjutada.
|