Cet article est un article miroir de traduction automatique, veuillez cliquer ici pour accéder à l’article original.

Vue: 13228|Répondre: 3

[Source] RewriteBatchedStatements de Java JDBC, allowPublicKeyRetrieval...

[Copié le lien]
Publié le 11-02-2022 à 13:59:18 | | |
Optimisé les performances des configurations rewriteBatchedStatements, allowPublicKeyRetrieval, allowMultiQueries et sslMode de Java JDBC.

Documentation de toutes les propriétés de configuration jdbc :La connexion hyperlientérée est visible.

Révision:

.NET/C# Optimisé les performances de SslMode pour les bases de données MySQL
https://www.itsvse.com/thread-9956-1-1.html

allowRecouvrementClé Publique

Lorsque vous utilisez MySQL 8.0, après redémarrage de l’application, vous êtes invité à com.mysql.jdbc.exceptions.jdbc4.MySQLNonTransientConnectionException : La récupération de clé publique n’est pas autorisée

La solution la plus simple est de l’ajouter après la connexionallowPublicKeyRetrieval=true

Si l’utilisateur utilise sha256_password authentification, le mot de passe doit être protégé en transit selon le protocole TLS, mais si la clé publique RSA n’est pas disponible, la clé publique fournie par le serveur peut être utilisée ; La clé publique RSA du serveur peut être spécifiée dans la connexion via ServerRSAPublicKeyFile, ou le paramètre AllowPublicKeyRetrieval=True pour permettre au client d’obtenir la clé publique du serveur ; Cependant, il convient de noter qu’AllowPublicKeyRetrieval=True peut amener des agents malveillants à obtenir des mots de passe en clair via des attaques man-in-the-middle (MITM), il est donc désactivé par défaut et doit être explicitement activé.



rewriteBatchedStatements

Afin d’obtenir une insertion batch haute performance en ajoutant le paramètre rewriteBatchedStatements à l’URL de la connexion JDBC dans MySQL et en garantissant que la version 5.1.13 ou ultérieure du pilote est garantie. Par défaut, le pilote JDBC MySQL ignore l’instruction exécuteBatch(), divise un ensemble d’instructions SQL que nous espérons exécuter par lots, et les envoie une par une à la base de données MySQL.
Ce n’est qu’en mettant le paramètre rewriteBatchedStatements sur true que le pilote exécutera le SQL par lots
Cette option est également valable pour INSÉRER/METTRE À JOUR/SUPPRIMER

Par défaut, le pilote MySQL Jdbc ignore l’instruction executeBatch(), décompose un ensemble d’instructions SQL que nous attendons à exécuter par lots, et les envoie une par une à la base MySQL, ce qui entraîne directement une faible performance.

Ce n’est qu’en mettant le paramètre rewriteBatchedStatements sur true que le pilote vous aidera à exécuter SQL en bloc (jdbc :mysql ://ip :port/db ?)rewriteBatchedStatements=true)


allowMultiQueries

Permission d’utiliser » ; « Sépare plusieurs requêtes (vrai/faux) dans une seule phrase. La valeur par défaut est « false », ce qui n’affecte pas les méthodes addBatch() et exécuteBatch(), qui dépendent de rewriteBatchStatements.

Lorsque MySQL se connecte à une base de données, ajoutez la déclaration : »allowMultiQueries=trueLe rôle de « :

1. Vous pouvez porter un point-virgule après l’instruction SQL pour réaliser une exécution multi-instructions.
2. Le traitement par lots peut être effectué et plusieurs instructions SQL peuvent être émises simultanément.


sslMode

Par défaut, les connexions réseau sont chiffrées SSL ; Cette propriété vous permet de désactiver la connexion sécurisée ou de sélectionner un autre niveau de sécurité. Les valeurs suivantes sont autorisées : « DÉSACTIVÉ » - une connexion non chiffrée est établie ; « PRÉFÉRÉ » - (par défaut) Si le serveur active des connexions chiffrées, une connexion chiffrée est établie, sinon elle revient à une connexion non chiffrée ; « OBLIGATOIRE » - Établir une connexion sécurisée si le serveur l’a activée, sinon cela échoue ; « VERIFY_CA » - Similaire à « REQUIRED », mais qui valide en plus le certificat TLS du serveur par rapport au certificat d’autorité de certification (CA) configuré ; « VERIFY_IDENTITY » – comme « VERIFY_CA »,

Cet attribut remplace les anciens attributs obsolètes « useSSL », « requireSSL » et « verifyServerCertificate », qui sont toujours acceptés mais convertis en la valeur de « sslMode » si « sslMode » n’est pas explicitement défini : « useSSL=false » est converti en « sslMode=disabled » ; {"useSSL=true », « requireSSL=false », « verifyServerCertificate=false"} se traduit par « sslMode=PREFERRED « ; {"useSSL=true », « requireSSL=true », « verifyServerCertificate=false"} se traduit par « sslMode=REQUIRED » ; {"useSSL=true » ET « verifyServerCertificate=true"} se traduit par « Le paramètre par défaut pour « sslMode » est « PREFERRED » », ce qui équivaut aux paramètres traditionnels « useSSL=true », « requireSSL=false » et « verifyServerCertificate=false », qui est le même que le Connector/ Les paramètres par défaut pour J 8.0.12 et les versions antérieures diffèrent dans certains cas. Les applications qui continuent d’utiliser les anciens attributs et s’appuient sur leurs anciens paramètres par défaut doivent être examinées. Le paramètre par défaut pour « sslMode » est « PREFERRED », qui est équivalent aux réglages traditionnels « useSSL=true », « requireSSL=false » et « verifyServerCertificate=false », ce qui diffère parfois du paramètre par défaut pour Connector/ J 8.0.12 et versions antérieures. Les applications qui continuent d’utiliser les anciens attributs et s’appuient sur leurs anciens paramètres par défaut doivent être examinées. Dans certains cas, c’est 12 ans ou plus tôt. Les applications qui continuent d’utiliser les anciens attributs et s’appuient sur leurs anciens paramètres par défaut doivent être examinées. Dans certains cas, c’est 12 ans ou plus tôt. Les applications qui continuent d’utiliser les anciens attributs et s’appuient sur leurs anciens paramètres par défaut doivent être examinées.

Si « sslMode » est explicitement défini, l’ancienne propriété est ignorée. Si « sslMode » ou « useSSL » n’est pas explicitement défini, le paramètre par défaut « sslMode=PREFERRED » est appliqué.

Paramètres JDBC pour désactiver les connexions sécurisées :sslmode=désactivé




Précédent:Comment renommer des fichiers par lots sous Linux
Prochain:Comment restreindre l’inscription des utilisateurs taïwanais, publier des informations à volonté et demander des conseils sur la façon d’écrire.
 Propriétaire| Publié le 11-02-2022 à 14:04:39 |
Chaîne de connexion à base de données à ressorts

Publié le 13-02-2022 à 16:31:57 |
Apprends à apprendre.
 Propriétaire| Publié le 25-04-2024 08:38:32 |
Exception 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) : La méthode d’authentification 'caching_sha2_password' a échoué. Soit utiliser une connexion sécurisée, spécifier la clé publique RSA du serveur avec ServerRSAPublicKeyFile, soit définir AllowPublicKeyRetrieval=True.


solution

Démenti:
Tous les logiciels, supports de programmation ou articles publiés par Code Farmer Network sont uniquement destinés à l’apprentissage et à la recherche ; Le contenu ci-dessus ne doit pas être utilisé à des fins commerciales ou illégales, sinon les utilisateurs assumeront toutes les conséquences. Les informations sur ce site proviennent d’Internet, et les litiges de droits d’auteur n’ont rien à voir avec ce site. Vous devez supprimer complètement le contenu ci-dessus de votre ordinateur dans les 24 heures suivant le téléchargement. Si vous aimez le programme, merci de soutenir un logiciel authentique, d’acheter l’immatriculation et d’obtenir de meilleurs services authentiques. En cas d’infraction, veuillez nous contacter par e-mail.

Mail To:help@itsvse.com