0

我在将 Google Apps 脚本连接到我的 MariaDB 实例时遇到了困难。

这是我在这个例子中使用的 GAS: https://gist.github.com/HappymanOkajima/8740727662e9ba0e0ffd52006484c47f

MariaDB 实例来自原始 dockerhub 镜像:mariadb:10.4

我已成功将 MariaDB 配置为使用 SSL 运行(使用 Metabase 验证,并显示 'havessl'='YES')

对于上下文,以下命令用于生成 ssl 密钥:

为 CA 证书生成密钥 openssl genpkey -algorithm RSA -pkeyopt rsa_keygen_bits:4096 > ./ca-key.pem

生成 CA 证书 openssl req -new -x509 -nodes -days 36500 -key ./ca-key.pem -out ./ca-cert.pem -subj "/C=US/ST=NY/L=NTC/O=company/CN=company"

创建 SQL 服务器密钥 openssl req -newkey rsa:4096 -nodes -keyout ./server-key.pem -out ./server-req.pem -subj "/C=US/ST=NY/L=NTC/O=company/CN=sql.server.com"

创建 SQL 服务器证书 openssl x509 -req -in ./kn-req.pem -days 36500 -CA ./ca-cert.pem -CAkey ./ca-key.pem -CAcreateserial -out ./server-cert.pem

将服务器密钥转换为 RSA(mariadb 只读取这个) openssl rsa -in ./server-key.pem -out ./server-key-rsa.pem

SQL server 配置有 ca-cert.pem、server-cert.pem 和 server-key-rsa.pem

创建客户端密钥(用于 Supermetrics) openssl req -newkey rsa:4096 -nodes -keyout ./client-key.pem -out ./client-req.pem -subj "/C=US/ST=NY/L=NTC/O=company/CN=supermetrics"

创建客户端证书 openssl x509 -req -in ./client-req.pem -days 36500 -CA ./ca-cert.pem -CAkey ./ca-key.pem -CAcreateserial -out ./client-cert.pem

为 Supermetrics 创建 RSA 版本 openssl rsa -in ./client-key.pem -out ./client-key-rsa.pem

然后我用 cat 打印这些文件:ca-cert.pem, client-cert.pem, client-key.pem

并将字符串复制粘贴到 Google Apps 脚本中,附加\n\到每行的末尾。

这是显示的错误: Exception: Failed to establish a database connection. Check connection string, username and password.

我还验证了如果我删除?useSSL=true,连接成功完成

我在这里想念什么?我已经搜索了所有关于这个的谷歌开发论坛帖子和 stackoverflow 问题,他们似乎都说这是正确的解决方案。有没有人能够复制这个来验证?

4

0 回答 0