appengine 无法通过非 ROOT 用户连接到 Google Cloud SQL



我在Google Cloud SQL中创建了一个用户。当我使用第三方 mysql 管理工具时,我可以使用非 root 帐户进行连接。但是,在我的应用引擎帐号中,我无法做到这一点。我不知道为什么。我尝试了以下连接字符串:

db = MySQLdb.connect(unix_socket='/cloudsql/' + SQL_INSTANCE, user='username', db='dbname')
db = MySQLdb.connect(host='x.x.x.x', port=3306, user='username', passwd="passwd")

这些都不起作用。

SHOW GRANTS应指示您的用户有权访问该表。USAGE 权限不足以使用特定数据库。

我能够使用特定的用户和密码正确连接。我使用MySQLdb.connect是这样的:

  db = MySQLdb.connect(
      unix_socket='/cloudsql/XXXXXXX',
      user='test', passwd='test')

我像这样添加了用户:

mysql> GRANT ALL ON `%`.* TO test@localhost IDENTIFIED BY 'test';
Query OK, 0 rows affected (0.19 sec)

补助金的外观:

mysql> SHOW GRANTS FOR test@localhost;
+-------------------------------------------------------------------------------------------------------------+
| Grants for test@localhost                                                                                   |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'test'@'localhost' IDENTIFIED BY PASSWORD '*94BDCEBE19083CE2A1F959FD02F964C7AF4CFC29' |
| GRANT ALL PRIVILEGES ON `%`.* TO 'test'@'localhost'                                                         |
+-------------------------------------------------------------------------------------------------------------+
2 rows in set (0.11 sec)
mysql>

我希望这有所帮助。

相关内容

  • 没有找到相关文章

最新更新