gitpageのブログのアドレスhttps://xisynotz.xyz
問題の1.ドライバパッケージのバージョン!!
データベース接続に継続されますが与えられたが、明らかなプロンプトがないようですされていません。
データベースはMysql8バージョンを使用しますが、ドライバパッケージのMySQLのバージョンは5.1.37である内部で動作します。単に8.0.11バージョンのドライバパッケージを変更。
そしてまた、元から、変更された駆動パッケージ:/generatorSqlmapCustom/lib/mysql-connector-java-5.1.28-bin.jar
MySQLのコネクタ-javaの-8.0.11.jar:に置き換えられ
名前にClass.forName(「com.mysql.cj.jdbc.Driver」)のためにMysql8.0駆動接続JDBCドライバクラスを注意してください。
サーバの身元確認なし2.Establishing SSL接続が推奨されません。
プラスuseSslオプション=偽
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useSSL=false", "root", "123456");
超えた接続の数3
'root' has exceeded the 'max_questions' resource (current value: 2)
通常の状況下では、ユーザーはこの値は0で、変更するつもりはない、その後、制限はありませんが、私は、この値を変更し、手を借りて。
この問題を解決し、あなたがして許可を更新し、単純に値を編集し、他のスーパーユーザのログイン権限を使用する必要があります。
4.タイムゾーンの問題
java.sql.SQLException: The server time zone value '???ú±ê×??±??' is unrecognized or represents more than one time zone. You must configure either the server or JDBC driver (via the serverTimezone configuration property) to use a more specifc time zone value if you want to utilize time zone support.
プラスserverTimezone = GMT
con = DriverManager.getConnection("jdbc:mysql://127.0.0.1:3306/test?useSSL=true&serverTimezone=GMT", "root", "123456");
5.MySQL 8.0公開鍵の取得が許可されていません
最も簡単な解決策は、実際の接続allowPublicKeyRetrieval =を再度追加することです
ドキュメントの特定の説明は次のとおりです。
顧客がsha256_password認証を使用する場合、パスワードは、伝送保護TLSプロトコルの間に使用されなければならないが、RSA公開鍵を利用できない場合は、サーバが提供する公開鍵を使用します。ServerRSAPublicKeyFileは、RSA公開鍵サーバによって指定された、または接続AllowPublicKeyRetrievalに=真のパラメータは、クライアントがサーバーから公開鍵を取得できるようにする、それが本当のAllowPublicKeyRetrieval =はパスワードテキストクリアする仲介エージェントの取得(MITM)を介して、悪意のある攻撃につながる可能性があることに注意すべきなので、デフォルトでオフになって、明示的にオンにする必要があります。