Optimoitu Java JDBC:n rewriteBatchedStatements-, allowPublicKeyRetrieval-, allowMultiQueries- ja sslMode-konfiguraatioiden suorituskyky.
jdbc Kaikki konfiguraatio-ominaisuudet -dokumentaatio:Hyperlinkin kirjautuminen on näkyvissä.
Arvostelu:
allowPublicKeyRetrieval
Kun käytät MySQL 8.0:a, sovelluksen uudelleenkäynnistyksen jälkeen sinulle kysytään com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException: Julkisen avaimen haku ei ole sallittua
Helpoin kiertotie on lisätä se yhteyden jälkeenallowPublicKeyRetrieval=true
Jos käyttäjä käyttää sha256_password tunnistautumista, salasana on suojattava siirron aikana TLS-protokollalla, mutta jos RSA:n julkista avainta ei ole saatavilla, palvelimen tarjoamaa julkista avainta voidaan käyttää; Palvelimen RSA-julkinen avain voidaan määrittää yhteydessä ServerRSAPublicKeyFile-tiedostolla tai AllowPublicKeyRetrieval=True-parametrilla, jotta asiakas voi hakea julkisen avaimen palvelimelta; On kuitenkin huomattava, että AllowPublicKeyRetrieval=True voi saada haitalliset agentit saamaan selväkielisiä salasanoja man-in-the-middle -hyökkäysten (MITM) kautta, joten se on oletuksena pois päältä ja sen on oltava nimenomaisesti käytössä.
rewriteBatchedStatements
Korkean suorituskyvyn eräsyötön saavuttamiseksi lisäämällä rewriteBatchedStatements-parametri JDBC-yhteyden URL-osoitteeseen MySQL:ssä ja varmistamalla, että ajuriversio 5.1.13 tai uudempi on taattu. Oletuksena MySQL JDBC -ajuri jättää executeBatch()-lauseen huomiotta, jakaa joukon SQL-lauseita, jotka odotamme suoritettavan erissä, ja lähettää ne MySQL-tietokantaan yksi kerrallaan. Vain asettamalla rewriteBatchedStatements-parametrin trueksi ajuri suorittaa SQL:n erissä Tämä vaihtoehto on voimassa myös INSERT/UPDATE/DELETE -toiminnossa
Oletuksena MySQL Jdbc -ajuri jättää executeBatch()-lauseen huomiotta, pilkkoo joukon SQL-lauseita, jotka odotamme suoritettavan erissä, ja lähettää ne MySQL-tietokantaan yksi kerrallaan, mikä suoraan aiheuttaa heikkoa suorituskykyä.
Vain asettamalla rewriteBatchedStatements-parametrin true-arvoon ajuri auttaa suorittamaan SQL:n massamuodossa (jdbc:mysql://ip:port/db?)rewriteBatchedStatements=true)
allowMultiQueries
Lupa käyttää'; ' Erottaa useita kyselyitä (tosi/epätosi) yhdessä lauseessa. Oletusarvo on "false", mikä ei vaikuta addBatch()- ja executeBatch()-metodeihin, jotka riippuvat rewriteBatchStatementsista.
Kun MySQL yhdistyy tietokantaan, lisää lause:allowMultiQueries=trueRooli ":
1. SQL-lauseen jälkeen voit käyttää puolipistettä, jolla saavutat monilauseen suorituksen. 2. Eräkäsittely voidaan suorittaa ja useita SQL-lauseita voidaan julkaista samanaikaisesti.
sslMode
Oletuksena verkkoyhteydet ovat SSL-salattuja; Tämä ominaisuus mahdollistaa suojatun yhteyden poiskytkemisen tai toisen turvatason. Seuraavat arvot ovat sallittuja: "DISABLED" – salaamaton yhteys muodostetaan; "PREFERRED" - (oletus) Jos palvelin ottaa käyttöön salatut yhteydet, luodaan salattu yhteys, muuten yhteys palautuu salaamattomaan yhteyteen; "VAADITAAN" – Luo suojattu yhteys, jos palvelin on ottanut sen käyttöön, muuten yhteys epäonnistuu; "VERIFY_CA" – Samankaltainen kuin "VAADITTU", mutta lisäksi validoi palvelimen TLS-sertifikaatin konfiguroidun varmenneviranomaisen (CA) varmenteen mukaan; "VERIFY_IDENTITY" - kuten "VERIFY_CA",
Tämä attribuutti korvaa vanhat vanhat attribuutit "useSSL", "requireSSL" ja "verifyServerCertificate", jotka hyväksytään mutta muunnetaan arvoksi "sslMode", jos "sslMode" ei ole erikseen asetettu: "useSSL=false" muunnetaan muotoon "sslMode=disabled"; {"useSSL=true", "requireSSL=false", "verifyServerCertificate=false"} käännetään muotoon "sslMode=PREFERRED"; {"useSSL=true", "requireSSL=true", "verifyServerCertificate=false"} käännetään muotoon "sslMode=REQUIRED"; {"useSSL=true" JA "verifyServerCertificate=true"} käännetään muotoon "Oletusasetus "sslModelle" on "PREFERRED", joka vastaa perinteisiä "useSSL=true", "requireSSL=false" ja "verifyServerCertificate=false" -asetuksia, jotka ovat samat kuin Connector/ J 8.0.12:n ja sitä vanhempien versioiden oletusasetukset ovat joissain tapauksissa erilaiset. Sovellukset, jotka jatkavat vanhojen attribuuttien käyttöä ja luottavat vanhoihin oletusarvoihinsa, tulisi tarkistaa. Oletusasetus "sslModelle" on "PREFERRED", joka vastaa perinteisiä asetuksia kuten "useSSL=true", "requireSSL=false" ja "verifyServerCertificate=false", mikä eroaa joissain tapauksissa Connector/J 8.0.12:n ja sitä aiemman oletusasetuksesta. Sovellukset, jotka jatkavat vanhojen attribuuttien käyttöä ja luottavat vanhoihin oletusarvoihinsa, tulisi tarkistaa. Joissain tapauksissa se on 12 vuotta tai aiemmin. Sovellukset, jotka jatkavat vanhojen attribuuttien käyttöä ja luottavat vanhoihin oletusarvoihinsa, tulisi tarkistaa. Joissain tapauksissa se on 12 vuotta tai aiemmin. Sovellukset, jotka jatkavat vanhojen attribuuttien käyttöä ja luottavat vanhoihin oletusarvoihinsa, tulisi tarkistaa.
Jos "sslMode" on asetettu eksplisiittisesti, vanha ominaisuus jätetään huomiotta. Jos "sslMode" tai "useSSL" ei ole erikseen asetettu, asetetaan oletusasetus "sslMode=PREFERRED".
JDBC-asetukset suojattujen yhteyksien poistamiseen:sslmode=poistettu käytöstä
|