【问题标题】:SSL connection required for plugin "mysql_clear_password". Check if 'sslMode' is enabled插件“mysql_clear_password”需要 SSL 连接。检查是否启用了“sslMode”
【发布时间】:2022-01-31 19:36:41
【问题描述】:

从 java 应用程序通过身份验证代理连接到 Cloudsql DB 时,出现以下错误。 Caused by: java.sql.SQLException: SSL connection required for plugin "mysql_clear_password". Check if 'sslMode' is enabled.

无法通过 mysql 文档获取要设置的正确值。

有没有人遇到过类似的问题?

以下是参考代码:

        String jdbcURL = String.format("jdbc:mysql://127.0.0.1:3306/%s", DB_NAME);
        Properties connProps = new Properties();
        connProps.setProperty("user", DB_USER);
        connProps.setProperty("password", DB_PASSWORD);
        connProps.setProperty("cloudSqlInstance", CONNECTION_NAME);
        connProps.setProperty("authenticationPlugins ", "com.mysql.jdbc.authentication.MysqlClearPasswordPlugin");
        HikariConfig config = new HikariConfig();
        config.setJdbcUrl(jdbcURL);

【问题讨论】:

标签: mysql google-cloud-platform jdbc google-cloud-sql cloud-sql-proxy


【解决方案1】:

documentation,您可以找到如何修改 MySQL 帐户。您可以使用ALTER USER 语句为现有帐户启用身份验证、SSL/TLS、资源限制和密码管理属性。

编辑:

此外,由于您无法更改数据库/服务器端的任何内容,您可以尝试将 sslMode="REQUIRED" 标志与 JDBC 连接一起传递。

【讨论】:

  • 我已经按照上述步骤和文件:/ @Mabel A.
  • @mayankagarwal 你检查过这个documentation吗?最有可能的是,如果服务器未配置为默认使用 mysql_clear_password,则您尝试连接的用户是使用 IDENTIFIED WITH mysql_clear_password 子句创建的。请使用适当的插件检查和更改用户。
  • 是的,我看到了文档。我无法更改数据库/服务器端的任何内容。有没有办法覆盖客户端的插件设置?我正在尝试覆盖 defaultAuthNPlugin ,如此处所示dev.mysql.com/doc/connector-j/8.0/en/… 但似乎不起作用。 @Mabel A.
  • @mayankagarwal 您是否尝试将 sslMode="REQUIRED" 标志与 JDBC 连接一起传递?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-24
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-02-03
  • 1970-01-01
相关资源
最近更新 更多