我正在使用Flask-Alchemy构建一个针对Cloud SQL的GAE Flask应用程序,并在dev_appserver
构建它时运行以测试应用程序.
但是,如果我将URL 设置SQLALCHEMY_DATABASE_URI
为mysql+gaerdbms:///appname?instance=instanceid
URL,则在尝试调用时会收到以下回溯db.create_all()
:
Traceback (most recent call last):
# earlier lines omitted for brevity
File "/Project/app/foo.bar/foo/bar/admin/__init__.py", line 26, in init_db
db.create_all()
File "/Project/app/distlib/flask_sqlalchemy/__init__.py", line 856, in create_all
self._execute_for_all_tables(app, bind, 'create_all')
File "/Project/app/distlib/flask_sqlalchemy/__init__.py", line 848, in _execute_for_all_tables
op(bind=self.get_engine(app, bind), tables=tables)
File "/Project/app/distlib/flask_sqlalchemy/__init__.py", line 797, in get_engine
return connector.get_engine()
File "/Project/app/distlib/flask_sqlalchemy/__init__.py", line 473, in get_engine
self._engine = rv = sqlalchemy.create_engine(info, **options)
File "/Project/app/distlib/sqlalchemy/engine/__init__.py", line 332, in create_engine
return strategy.create(*args, **kwargs)
File "/Project/app/distlib/sqlalchemy/engine/strategies.py", …
Run Code Online (Sandbox Code Playgroud) 我正在尝试使用Cloud Functions for Firebase来构建一个与Google Cloud SQL(PostgreSQL)实例对话的API.
我正在使用HTTP(S)触发器.
当我列出桌面的IP地址时,我可以使用本地计算机上的函数node.js代码连接到Cloud SQL.但是当我部署时,我无法连接,我无法弄清楚Firebase功能服务器的HOST IP地址到白名单.
您如何通过Cloud Functions for Firebase与Google Cloud SQL对话?
谢谢!
// Code Sample, of what's working on Localhost.
var functions = require('firebase-functions');
var pg = require('pg');
var pgConfig = {
user: functions.config().pg.user,
database: functions.config().pg.database,
password: functions.config().pg.password,
host: functions.config().pg.host
}
exports.helloSql = functions.https.onRequest((request, response) => {
console.log('connecting...');
try {
client.connect(function(err) {
if (err) throw err;
console.log('connection success');
console.log('querying...');
client.query('SELECT * FROM guestbook;', function(err, result){
if (err) throw err;
console.log('querying success.');
console.log('Results: ', …
Run Code Online (Sandbox Code Playgroud) javascript google-cloud-sql firebase google-cloud-platform google-cloud-functions
我使用Data Source explorer从eclipse连接到Google Cloud SQL数据库.但是当我使用它的选项生成该数据库的DDL时Generate DDL
,我无法获取AUTO_INCREMENT
我的脚本但获取相应的主键.
我将如何获得AUTO_INCREMENT
我的脚本?
我有一个D0大小的Cloud SQL实例.当我运行一个简单的
select * from table
Run Code Online (Sandbox Code Playgroud)
它有大约500行,执行平均需要100毫秒(由SQL Prompt报告).而在我的本地MySQL 5.5实例上,它只需要1毫秒.我的开发机器有2.9GHz双核Intel Core i7和8GB 1600MHz内存.我在FAQ中读到db的性能取决于大小 - 较大的实例有更多的RAM和CPU.
通过更大的实例大小来解决性能问题是否合理?或者我在这里错过了其他什么?
连接到Google Cloud SQL实例时,有没有办法指定要连接的数据库?
这是我执行的命令和我得到的错误:
$ gcloud beta sql connect MY_INSTANCE --user=MY_USER
Whitelisting your IP for incoming connection for 5 minutes...done.
Connecting to database with SQL user [MY_USER].Password for user MY_USER:
psql: FATAL: database "MY_USER" does not exist
Run Code Online (Sandbox Code Playgroud)
它似乎尝试连接到一个与用户名称相同的数据库,但是当不是这样的时候呢?(我不想创建一个名为MY_USER的虚拟DB,只是为了能够跳转到我想要的DB).
以下是该命令的文档gcloud beta sql
,但我认为没有任何有用的内容:https://cloud.google.com/sdk/gcloud/reference/beta/sql/connect
我不知道如何解释这个,但我会尝试.
现在我的存储使用量为9.52 GB!(使用166.5 MB SQL数据...)并且增加仍然更快...怎么办?!
更新:
我解决这个问题:
(并从我的应用程序中更改了ip)
我不知道问题来自哪里,但可能是"二进制日志的存储开销".下次将检查binnary日志:mysql> SHOW BINARY LOGS;
我认为Google缺少的是清除二进制日志!(一个简单的方法!)
更新结果:
在二进制日志处于活动状态时,您的云sql的stoarge将不断扩展.对于处于相同情况的任何人,您可以编辑实例并取消选中二进制日志,之后将清除当前的二进制日志.
抱歉我的菜鸟问题!:D(我是服务器管理的初学者.)
谢谢Vadim!
mysql database sql-server google-cloud-sql google-cloud-platform
我查看了Google Cloud SQL的文档和各种搜索,但我无法确定是否可以将SQLAlchemy与Google Cloud SQL一起使用,如果是,那么连接URI应该是什么.
我想使用Flask-SQLAlchemy扩展,需要连接字符串,如下所示:
mysql://username:password@server/db
我看到了Django示例,但看起来配置使用的风格与连接字符串不同. https://developers.google.com/cloud-sql/docs/django
Google Cloud SQL文档:https: //developers.google.com/cloud-sql/docs/developers_guide_python
python google-app-engine sqlalchemy flask-sqlalchemy google-cloud-sql
我整个星期都在研究这个问题的解决方案,虽然已经有类似问题的解决方案,但没有一个能够直接解决和纠正这个问题.
我使用Google App Engine和Google Cloud SQL创建了一个Web应用程序项目.使用eclipse谷歌插件和本地MySQL服务器运行GAE应用程序,该应用程序运行良好.
使用以下命令从命令行运行应用程序时:
sudo /opt/appengine-java-sdk-1.6.1/bin/dev_appserver.sh --jvm_flag=-Drdbms.server=local --jvm_flag=-Drdbms.driver=com.mysql.jdbc.Driver --jvm_flag=-Drdbms.url=jdbc:mysql://localhost:3306/twincam?user=root --port=7070 /home/ben/workspace/Twincam/war
Run Code Online (Sandbox Code Playgroud)
我得到以下内容: -
java.lang.IllegalStateException: java.lang.ClassNotFoundException: com.mysql.jdbc.Driver
at com.google.appengine.api.rdbms.dev.LocalRdbmsServiceLocalDriver.registerDriver(LocalRdbmsServiceLocalDriver.java:95)
Run Code Online (Sandbox Code Playgroud)
我的类路径引用了我的用户库引用的/Twincam/war/WEB-INF/lib/mysql-connector-java-5.1.18-bin.jar中的mysql-connector.jar,如下面的.classpath文件和目录结构: -
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="com.google.appengine.eclipse.core.GAE_CONTAINER"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/>
<classpathentry kind="lib" path="war/WEB-INF/lib/mysql-connector-java-5.1.18-bin.jar"/>
<classpathentry kind="lib" path="war/WEB-INF/lib/gson-2.1-javadoc.jar"/>
<classpathentry kind="lib" path="war/WEB-INF/lib/gson-2.1-sources.jar"/>
<classpathentry kind="lib" path="war/WEB-INF/lib/gson-2.1.jar"/>
<classpathentry kind="output" path="war/WEB-INF/classes"/>
</classpath>
Run Code Online (Sandbox Code Playgroud)
更新:我检查了文件权限,并且都设置为默认值664,所以我确信这不是问题所在.
我想构建一个服务于很多人(超过200万)的应用程序,所以我认为我应该使用Google Cloud Datastore.但是我也知道有一个选项可以使用Google Cloud SQL,但仍然可以为很多人使用mySQL服务(就像Facebook和Youtube所做的那样).
这是一个正确的假设使用数据存储而不是关系云SQL与这么多用户?先感谢您
mysql database google-app-engine google-cloud-storage google-cloud-sql
我有一个Kubernetes JOB
在CloudSQL数据库上进行数据库迁移.
从GKE访问CloudSQL数据库的一种方法是使用CloudSQL代理容器然后通过连接localhost
.太棒了 - 到目前为止工作正常.但是因为我在K8s中这样做,JOB
所以作业没有被标记为成功完成,因为代理继续运行.
$ kubectrl get po
NAME READY STATUS RESTARTS AGE
db-migrations-c1a547 1/2 Completed 0 1m
Run Code Online (Sandbox Code Playgroud)
即使输出显示"已完成",最初的两个容器之一仍在运行 - 代理.
如何在完成容器1内的迁移时使代理退出?
google-cloud-sql ×10
mysql ×3
database ×2
python ×2
sqlalchemy ×2
docker ×1
eclipse ×1
firebase ×1
javascript ×1
kubernetes ×1
performance ×1
sql-server ×1