出现:throw 'allowScriptTagRemoting is false.'; 提示:抱歉,数据库未通过验证,请检查相关配置! 我检查了下,可以用navicat连接,开启了远程连接,账号密码都对,使用的root账户。
原提问者GitHub用户Magic-HLB
可能是您的代码中的数据库连接配置有误,建议您检查以下几个方面:
如果您已经确认上述配置都正确,但仍无法连接到 MySQL 数据库,建议您尝试使用其他工具连接 MySQL 数据库,如 MySQL 官方提供的 MySQL Workbench 或者其他的第三方工具,以确认数据库是否正常工作。
抛出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;命令,以确保您的更改已生效。
mysql8.0的新版auth还不支持,可以在安装的时候使用老版本的auth,其余的binlog解析已经支持
原回答者GitHub用户agapple
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。