sql >> Database >  >> RDS >> Mysql

Azure - toestemming geweigerd bij verbinding maken met externe MySQL-database

Ik ben het zat om uw probleem te reproduceren, maar het is niet gelukt.

Hier heb ik geprobeerd een java spring-boot . te maken project om verbinding te testen met Azure MySQL Database .

Snippet van mijn code:

    private static String hostName = "<your host name>";
    private static String dbName = "sys";
    private static String user = "<user name>";
    private static String password = "password";
    private static String portNumber = "3306";

    @RequestMapping("/hello")
    public String index() throws SQLException {
        Connection conn = null;
        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e1) {
            e1.printStackTrace();
        }
        try {
            String url = "jdbc:mysql://"+hostName+":"+portNumber+"/"+dbName+"?verifyServerCertificate=true&useSSL=true&requireSSL=false&serverTimezone=UTC";
            conn = DriverManager.getConnection(url, user, password);

        } catch (SQLException e) {
            System.out.println("error!!!!");
            System.out.println(e.getMessage());
            e.printStackTrace();
            return e.getMessage();
        }
        return conn.getCatalog();
    }

Mijn web.config-bestand:

<?xml version="1.0" encoding="UTF-8"?>
<configuration>
  <system.webServer>
    <handlers>
      <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
    </handlers>
    <httpPlatform processPath="%JAVA_HOME%\bin\java.exe"
        arguments="-Djava.net.preferIPv4Stack=true -Dserver.port=%HTTP_PLATFORM_PORT% -jar &quot;%HOME%\site\wwwroot\demo-0.0.1-SNAPSHOT.jar&quot;">
    </httpPlatform>
  </system.webServer>
</configuration>

U kunt de onderstaande punten controleren als u geen verbinding kunt maken met uw database:

1. Mis de ingestelde SSL-parameters niet.

2.Stel een wit IP address in van uw Azure-webapp.

3. Mis -Djava.net.preferIPv4Stack=true niet instelling in uw web.config .

Je zou meer details kunnen vinden in deze thread:JavaMail API naar iMail -- java.net.SocketException:Toestemming geweigerd:verbinden

Ik hoop dat het je helpt.



  1. MySQL - CONCAT twee velden en gebruik ze in de WHERE-clausule

  2. Is het een slecht ontwerp om arrays in een database te gebruiken?

  3. Doe mee met de PAUG Database Designer Conference

  4. CONTROLEER BEPERKING van tekenreeks om alleen cijfers te bevatten. (Oracle-SQL)