在 ubuntu 上,我正在尝试在 GAE python 上部署一个应用程序。我还通过以下几行将mysql客户端连接到它:
if (os.getenv('SERVER_SOFTWARE') and os.getenv('SERVER_SOFTWARE').startswith('Google App Engine/')):
db = MySQLdb.connect(unix_socket='/cloudsql/' + _INSTANCE_NAME, db='databaselab', user= 'root')
在 mysql 5.6 中,我创建了一个名为“databaselab”的数据库。但是在 GAE 上部署它的错误显示:
OperationalError: (1049, "Unknown database 'databaselab'")
但是当我用预定义的表'mysql'替换'databaselab'时,一切正常。但是后来我想在“mysql”数据库中创建所需的表,因为我能够访问该数据库。但随后错误来了
Error: (1146, "mysql.table_name doesn't exist")
即我只能访问命名为“mysql”、“information_schema”和“performance_schema”的预定义表。尽管所有这些数据库和表都存在,但 GAE 不知道在预定义数据库中定义的其他数据库和新表。
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| databaselab |
| mysql |
| performance_schema |
+--------------------+
如何解决这个问题?