Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/google-app-engine/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Mysql 卸载后查询数据库时出错+;重新安装:错误:ER#U访问被拒绝#U错误:用户的访问被拒绝';根'@';本地主机';_Mysql_Database_Next.js_Access Denied - Fatal编程技术网

Mysql 卸载后查询数据库时出错+;重新安装:错误:ER#U访问被拒绝#U错误:用户的访问被拒绝';根'@';本地主机';

Mysql 卸载后查询数据库时出错+;重新安装:错误:ER#U访问被拒绝#U错误:用户的访问被拒绝';根'@';本地主机';,mysql,database,next.js,access-denied,Mysql,Database,Next.js,Access Denied,在删除旧版本的MySQL并重新安装最新版本后,我在查询数据库时出错 我正在使用: 适用于macos10.15的MySQL 8.0.23版 我的应用程序在Next.js中,在此之前运行良好。我正在本地主机上运行它。它使用无服务器mysql进行连接: const mysql = require('serverless-mysql') const db = mysql({ config: { host: process.env.MYSQL_HOST, database: proc

在删除旧版本的MySQL并重新安装最新版本后,我在查询数据库时出错

我正在使用: 适用于macos10.15的MySQL 8.0.23版

我的应用程序在Next.js中,在此之前运行良好。我正在本地主机上运行它。它使用无服务器mysql进行连接:

const mysql = require('serverless-mysql')

const db = mysql({
  config: {
    host: process.env.MYSQL_HOST,
    database: process.env.MYSQL_DATABASE,
    user: process.env.MYSQL_USER,
    password: process.env.MYSQL_PASSWORD,
  }
})
测试连接在MySQL工作台中工作得非常好

我尝试过的事情:

  • 重置密码
  • 再次卸载MySQL并使用旧密码加密。这使得根用户的插件成为“mysql\u native\u password”
  • 创建新用户,授予他们所有权限,并尝试使用他们的凭据
这可能有点过头了,但在所有这些之后,用户看起来是这样的:

命令:

use mysql;
select * from user where User="root";
结果:

[
    {
        "Host" : "localhost",
        "User" : "root",
        "Select_priv" : "Y",
        "Insert_priv" : "Y",
        "Update_priv" : "Y",
        "Delete_priv" : "Y",
        "Create_priv" : "Y",
        "Drop_priv" : "Y",
        "Reload_priv" : "Y",
        "Shutdown_priv" : "Y",
        "Process_priv" : "Y",
        "File_priv" : "Y",
        "Grant_priv" : "Y",
        "References_priv" : "Y",
        "Index_priv" : "Y",
        "Alter_priv" : "Y",
        "Show_db_priv" : "Y",
        "Super_priv" : "Y",
        "Create_tmp_table_priv" : "Y",
        "Lock_tables_priv" : "Y",
        "Execute_priv" : "Y",
        "Repl_slave_priv" : "Y",
        "Repl_client_priv" : "Y",
        "Create_view_priv" : "Y",
        "Show_view_priv" : "Y",
        "Create_routine_priv" : "Y",
        "Alter_routine_priv" : "Y",
        "Create_user_priv" : "Y",
        "Event_priv" : "Y",
        "Trigger_priv" : "Y",
        "Create_tablespace_priv" : "Y",
        "ssl_type" : "",
        "ssl_cipher" : ?,
        "x509_issuer" : ?,
        "x509_subject" : ?,
        "max_questions" : 0,
        "max_updates" : 0,
        "max_connections" : 0,
        "max_user_connections" : 0,
        "plugin" : "mysql_native_password",
        "authentication_string" : "*E7CF5215B32CCDA122352F3A92E9F73131E28662",
        "password_expired" : "N",
        "password_last_changed" : "2021-02-24 18:54:52",
        "password_lifetime" : null,
        "account_locked" : "N",
        "Create_role_priv" : "Y",
        "Drop_role_priv" : "Y",
        "Password_reuse_history" : null,
        "Password_reuse_time" : null,
        "Password_require_current" : null,
        "User_attributes" : null
    }
]

非常感谢任何人能提供的帮助,这个错误正在破坏我的理智。请告诉我是否可以提供更多详细信息。

我解决此问题的方法是在代码中手动输入密码,而不是在ENV文件中输入密码。成功了。当我在控制台上记录ENV文件以了解为什么它不起作用时,是因为我把它放在了一个字符串中,例如:MYSQL\u PASSWORD=“PASSWORD”。应该是:MYSQL\u PASSWORD=PASSWORD


因此,如果有人遇到困难,请检查ENV变量是否设置正确,并手动将其放入,以排除任何ENV问题。

请提供您的mysql配置值和已编辑的敏感数据。你卸载了哪个版本?您是否删除了
datadir
并从头开始,还是跳过了?为process.env.*提供了哪些值?MYSQL\u HOST=“localhost”MYSQL\u USER=“root”MYSQL\u DATABASE=“redact”MYSQL\u PASSWORD=“redact”MYSQL\u PORT=“3306“谢谢你的答复。我刚刚又下载了mySQL。我不知道我卸载的确切版本,但我是在2020年下载的。我目前使用的版本是8.0.23。我只是重新下载了MySQL,并使用了旧密码加密,看看这是否有帮助——同样的错误。已授予所有权限。通过工作台进行工作连接。我按照此指南删除了它:。我尽力从头开始。请不要把问题的答案放在问题本身。如果你成功解决了问题,请将其作为问题的答案而不是编辑。这将帮助我们看到它已被解决,因为您可以将其标记为将在搜索中弹出的解决方案。另外,一旦你在答案中加入了解决方案,请不要在标题中添加已解决的标签。谢谢大家——刚刚编辑了这篇文章