我在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>
我希望这有所帮助。