繁体   English   中英

fabric-ca-server连接到Azure mysql:不支持此身份验证插件

[英]fabric-ca-server connect to azure mysql: this authentication plugin is not supported

我感到困惑,为什么我无法使用azure的MySql数据库启动fabric-ca-server,我不断获取this authentication plugin is not supported

在简单的go脚本中使用完全相同的连接字符串即可:

    db, err := sql.Open("mysql", sqlConnString)
    if err != nil {
        return "", err
    }
    defer db.Close()
    rows, err := db.Query(sqlString)
    if err != nil {
        return "", err
    }

    columns, err := rows.Columns()
    ...

但是,使用以下命令启动fabric-ca-server:

fabric-ca-server start --db.datasource="user@server:pw@tcp(server.mysql.database.azure.com:3306)/fabricca?parseTime=true&allowNativePasswords=true" --db.type=mysql -b admin:admin

结果错误:

2019/08/07 23:39:35 [DEBUG] Initializing DB
2019/08/07 23:39:35 [DEBUG] Initializing 'mysql' database at '****:****@tcp(server.mysql.database.azure.com:3306)/fabricca?parseTime=true'
2019/08/07 23:39:35 [DEBUG] Using MySQL database, connecting to database...
2019/08/07 23:39:35 [DEBUG] Database Name: fabricca
2019/08/07 23:39:35 [DEBUG] Connecting to MySQL server, using connection string: ****:****@tcp(server.mysql.database.azure.com:3306)/?parseTime=true
2019/08/07 23:39:35 [ERROR] Error occurred initializing database: Failed to connect to MySQL database: this authentication plugin is not supported

我尝试使用以下版本,结果相同

  • 1.4.0
  • 1.4.1
  • 1.4.2

具有以下参数:

  • <无>
  • ?分析时= TRUE
  • ?分析时=真allowNativePasswords =真

mysql服务器的版本是5.7

我尝试过先创建数据库,然后在没有现有数据库的情况下开始

我已经尝试与管理员用户一起使用,该用户是具有所选数据库的所有授予的特定用户

我尝试使用其他密码插件创建用户(在Azure mysql 5.7上默认为mysql_native_password)

但是错误不断弹出。 连接字符串似乎没有任何问题,因为我可以在其他go脚本中使用它而没有任何问题。

尝试使用tls和不使用tls。 我可以看到的唯一区别是: https : //github.com/hyperledger/fabric-ca/blob/477f5a2e8200232a50a3751976f6fa3d3f9062c9/lib/server/db/mysql/mysql.mysql##66

有没有人以前遇到过这个问题,或者知道发生了什么事?

不幸的是,看来我们仍在使用非常旧的mysql驱动程序版本,该版本根本不支持身份验证插件。 我假设您的示例代码提取了较新版本的驱动程序。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM