我有一个MYSQL_5_7的简单cloudsql实例,启用_iam_authentication标志。
我已经添加了服务帐户或IAM用户,并希望使用mysql客户端访问该实例。
我正在使用cloudsql身份验证代理:
./cloud_sql_proxy -instances=watchful-pier-333707:us-central1:test-002=tcp:3306 --enable_iam_login
使用以下命令访问数据库:mysql -u root -p --host 127.0.0.1
使用内置用户root,我能够成功访问该实例。
当我试图使用以下命令访问具有IAM用户/服务帐户的DB时;在"读取授权数据包"时丢失了与MySQL服务器的连接,系统错误:0";。
mysql -u <user_name> -p --host 127.0.0.1
user_name是我可以在用户列表中看到的添加用户
遵循本文档-本
有人能帮忙吗。提前感谢!
MySQL尚未提供自动IAM AuthN。一旦完成,我们将更新代理文档。
带有CLI的解决方案使用以下命令:
MYSQL_PWD=`gcloud auth print-access-token` mysql --enable-cleartext-plugin --host=127.0.0.1 --user=<user_name>
请确保您已授权该服务帐户并赋予其令牌创建者角色。
当您尝试此操作时,MySQL上不支持自动IAM,但现在它是
$ mkdir -p ~/cloudsql2
$ cloud_sql_proxy --projects my-project -dir ~/cloudsql2 -enable_iam_login
$ mysql -S ~/cloudsql2/my-project:us-west1:my-instance-name -u dantest
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 6200833
Server version: 5.7.39-google-log (Google)
Copyright (c) 2000, 2023, Oracle and/or its affiliates.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
mysql>
查看更多信息:https://cloud.google.com/sql/docs/mysql/authentication#automatic