错误1049:在GAE python上部署应用程序时数据库未知

时间:2015-04-10 19:30:01

标签: python mysql database google-app-engine mysql-error-1049

在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 |
+--------------------+

如何解决这个问题?

0 个答案:

没有答案