开发者社区> 问答> 正文

不支持连接mysql 8.0.12吗?

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

原提问者GitHub用户Magic-HLB

展开
收起
古拉古拉 2023-06-14 22:00:03 63 0
3 条回答
写回答
取消 提交回答
  • 可能是您的代码中的数据库连接配置有误,建议您检查以下几个方面:

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

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

    2023-06-16 08:36:58
    赞同 展开评论 打赏
  • 值得去的地方都没有捷径

    抛出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
    赞同 展开评论 打赏
  • mysql8.0的新版auth还不支持,可以在安装的时候使用老版本的auth,其余的binlog解析已经支持

    原回答者GitHub用户agapple

    2023-06-14 22:31:08
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
搭建电商项目架构连接MySQL 立即下载
搭建4层电商项目架构,实战连接MySQL 立即下载
PolarDB MySQL引擎重磅功能及产品能力盛大发布 立即下载

相关镜像