在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 |
+--------------------+
如何解决这个问题?