mysql - 如何在本地设置谷歌云 SQL

标签 mysql google-app-engine python-3.x

我如何在 python 中以在 GAE 和本地测试环境上都有效的方式以编程方式设置 google cloud SQL?

当我在本地设置时,控制台总是显示:

MySQLdb is not installed or loaded.

但是当我打开终端写python和python命令行的时候 环境运行。它在终端中工作正常但在 GAE 中它说 在 GAE 控制台中跟随。

The RDBMS API is not available because the MySQLdb library could not be loaded.

我正在为 GAE 使用 python 2.7.3。

最佳答案

您可以在下面的链接中引用官方帮助/演练。

https://developers.google.com/appengine/docs/python/cloud-sql/#Python_Using_a_local_MySQL_instance_during_development

您需要遵循的重要事项是

  1. 确保本地安装了 MySql,您可以通过在终端中输入 MySQL 来访问它。
  2. 您必须安装 MySQLdb python 路径中的库。按照其安装指南进行操作,不要忘记更改下载文件夹中可用的 site.cfg 中的 mysql_config 变量,否则将无法安装。 设置 site.cfg 后运行以下命令。确保终端中的当前目录是刚刚从 MySQLdb link 下载的 MySQLdb。

    sudo/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python setup.py install

  3. 在本地 MySql 中创建一个测试数据库或在该本地数据库中导入实时转储,以便您的表结构在本地和实时环境中都是相同的

  4. 下面是上面页面中的简单代码,它适用于本地和实时环境

import os
import MySQLdb
import webapp2

INSTANCE_NAME = 'your-project-id:your-instance-name'

class SQ(webapp2.RequestHandler):
    def get(self):
        # Display existing guestbook entries and a form to add new entries.
        if (os.getenv('SERVER_SOFTWARE') and
            os.getenv('SERVER_SOFTWARE').startswith('Google App Engine/')):
            db = MySQLdb.connect(unix_socket='/cloudsql/' + INSTANCE_NAME, db='guestbook', user='root')
        else:
            db = MySQLdb.connect(host='127.0.0.1', port=3306, db='guestbook', user='root')

        cursor = db.cursor()
        cursor.execute('select id,guestName,content from enteries')

        for row in cursor.fetchall():
            self.response.write("(id) " + str(row[0]) + " | (name) " + str(row[1]) + " | (content) " + str(row[2]) + "</BR>" )

        db.close()

关于mysql - 如何在本地设置谷歌云 SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13392779/

相关文章:

mysql - 如何使这个复杂的查询运行得更快?

java - 如何将 Android 应用程序连接到 MySql 数据库

google-app-engine - 出于计费目的,ndb 缓存读取操作是否仍算作数据存储读取操作?

java - GAE - JPA - datanucleus 数据检索错误 - PESSIMISTIC_READ

python - 将字典的字典转换为 Pandas 中的数据框

python - 如何在 Django Admin 的 "Change"页面中显示内联上传的图像?

javascript - javascript中的价格滑动条给出适当的结果

php - Codeigniter 剩余天数 mysql 查询

mysql - 如何将 Strapi (GAE) 应用程序连接到 MySQL (GSC) 数据库?

python-3.x - 如何按姓氏对姓名进行排序