开发者社区 问答 正文

不支持连接mysql 8.0.12吗?

出现:throw 'allowScriptTagRemoting is false.'; 提示:抱歉,数据库未通过验证,请检查相关配置! 我检查了下,可以用navicat连接,开启了远程连接,账号密码都对,使用的root账户。

原提问者GitHub用户Magic-HLB

展开
收起
古拉古拉 2023-06-14 22:00:03 75 发布于北京 分享
分享
版权
举报
3 条回答
写回答
取消 提交回答
  • 可能是您的代码中的数据库连接配置有误,建议您检查以下几个方面:

    1. 检查您的数据库连接字符串是否正确,包括主机名、端口、数据库名称、用户名和密码等信息是否正确。
    2. 确认您的代码中是否使用了正确的 MySQL 驱动程序,建议使用最新版本的 MySQL 驱动程序。
    3. 请检查您的防火墙或网络安全组是否允许从您的应用服务器访问 MySQL 数据库。
    4. 检查您的 MySQL 数据库是否已启用远程访问,如果没有,请在 MySQL 配置文件中启用远程访问。

    如果您已经确认上述配置都正确,但仍无法连接到 MySQL 数据库,建议您尝试使用其他工具连接 MySQL 数据库,如 MySQL 官方提供的 MySQL Workbench 或者其他的第三方工具,以确认数据库是否正常工作。

    2023-06-16 08:36:58 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
  • 值得去的地方都没有捷径

    抛出allowScriptTagRemoting is false的错误通常是由于在浏览器中防止跨站点脚本攻击(XSS)的安全限制导致的。

    您可以通过在连接字符串中添加allowPublicKeyRetrieval=true和serverTimezone=UTC来解决此问题,例如:

    const mysql = require('mysql2/promise'); const connection = await mysql.createConnection({ host: 'your-host', user: 'your-user', password: 'your-password', database: 'your-database', charset: 'utf8mb4', allowPublicKeyRetrieval: true, serverTimezone: 'UTC' }); 此外,如果您使用的是SSL连接,您还需要在连接字符串中添加sslmode=REQUIRED和sslca=path-to-cert-file,其中path-to-cert-file是您服务器上证书的路径。

    如果您的问题仍然存在,请确保您的MySQL用户具有充分的权限,包括在任何由防火墙/安全组保护的服务器上打开正确的端口。您还可以尝试在MySQL控制台中运行FLUSH PRIVILEGES;命令,以确保您的更改已生效。

    2023-06-15 17:36:48 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
  • mysql8.0的新版auth还不支持,可以在安装的时候使用老版本的auth,其余的binlog解析已经支持

    原回答者GitHub用户agapple

    2023-06-14 22:31:08 举报
    赞同 评论

    评论

    全部评论 (0)

    登录后可评论
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等