- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我收到一个看起来像这样的错误(在我的函数日志中)
拒绝用户\'varun_admin\'@\'cloudsqlproxy~84.117.112.32\'(使用密码:YES)'的访问,
sqlMessage:
`\'varun_admin\'@\'cloudsqlproxy~84.117.112.32\' (using password: YES)',`
sqlState: '28000',
致命的:真实的}(84.117.112.32
) 有意修改。
我仔细检查了我的用户名
和密码
,事实上,我从 Workbench 发出了一个请求,一切正常。
这就是我创建/初始化我的 sql 的方式
const mysql = require('mysql')
const config = require('./../../config.js')
const connectionName = config.DB_CONNECTION_NAME
console.log(`Connection name: ${config.DB_CONNECTION_NAME}`)
const configSQL = {
host: config.DB_HOST,
user: config.DB_USER,
password: config.DB_PASSWORD,
database: config.DB_DATABASE
}
// Connection to cloud sql in production
if (!process.env.dev) {
configSQL.socketPath = `/cloudsql/${connectionName}`;
}
//SQL Config
const pool = mysql.createPool(configSQL)
// Checking if it was connected sucessfully or not on server startup
pool.getConnection((err, connection) => {
if (err) {
console.error('error connecting: ' + err)
return
}
console.log('connected as id ' + connection.threadId)
connection.release()
return
})
下面的函数通常会调用以获取数据
const getEverythingFromTable = tableName => {
return new Promise((resolve, reject) => {
pool.getConnection((error, connection) => {
if (error) return reject(error)
const query = `SELECT * FROM ${tableName}`
connection.query(query, (err, response) => {
connection.destroy()
if (err) return reject(err)
return resolve(response)
})
})
})
}
知道我可能做错了什么吗?
SQL 日志
更新:1
这些是我传递给 Cloud SQL Config 的环境值
(请引用上面的代码片段)
UI 中的 cloudSQL 配置如下所示
我是如何调用函数/调用它们的,它的 NodeJS 代码在上面。
最佳答案
如 Verify how you connect 中所述,您收到的错误可能是由于您的密码或正在使用的 SSL 加密问题引起的。文档部分。
实际上,我尝试按照 Enforcing SSL/TLS 的建议,通过将实例配置更改为仅允许 SSL 连接 来查看是否可以重现该问题。文档的一部分。但是,这对我来说不是问题
这通常不是问题,因为如 this post 中所述,当您使用 cloudsqlproxy 时,来自 Cloud Functions 的连接默认情况下是加密的,但我必须对其进行测试以防发生变化。
我还尝试更改配置以进一步限制对我的实例的访问。然而,唯一使我的连接失败的是通过公共(public) IP 禁用连接并仅允许通过私有(private) IP 连接,这使得连接甚至无法到达实例。
既然您提到您可以连接到 Workbench,我认为您的问题可能有 2 个原因:
希望对你有帮助
关于javascript - ER_ACCESS_DENIED_ERROR CloudSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58117314/
我收到一个看起来像这样的错误(在我的函数日志中) 拒绝用户\'varun_admin\'@\'cloudsqlproxy~84.117.112.32\'(使用密码:YES)'的访问, sqlM
今天我在heroku上推送我的应用程序,我使用cleardb创建数据库,并使用创建表的软件(navicat premium)对其进行配置。 我启动了我的程序,该程序在本地运行得非常好,当我尝试访问我的
我有这个问题,我已经研究过但无法解决它,我想它与数据库权限有关,但我无法修复它: if (error) throw error; ^ Error: ER_ACCESS_DENIED_ER
当我尝试连接到远程服务器上的数据库时遇到问题。 我的代码: const mysql = require('mysql'); const database = mysql.createPool({
当我尝试连接到远程服务器上的数据库时遇到问题。 我的代码: const mysql = require('mysql'); const database = mysql.createPool({
我正在尝试使用 NodeJs mysql 库连接到我的 RDS(AWS MySQL 数据库)。 const mysql = require('mysql'); var connection; conn
我正在 Cloud9.io 上运行 sailsJS 项目并使用 mysql。这是我的配置。 在config/local.js port: process.env.PORT, host: process
我正在尝试通过 NodeJS 文件连接到 mySQL,但收到以下错误: { Error: ER_ACCESS_DENIED_ERROR: Access denied for user 'root'@'
我正在运行一个简单的 Nodejs(v10.15.3) 应用程序尝试访问 MySQL 服务器 (8.0.15)。 npm mysql 包版本是 v2.17.1。脚本如下所示, var mysql =
我是一名优秀的程序员,十分优秀!