Mysql 卸载后查询数据库时出错+;重新安装:错误:ER#U访问被拒绝#U错误:用户的访问被拒绝';根'@';本地主机';
在删除旧版本的MySQL并重新安装最新版本后,我在查询数据库时出错 我正在使用: 适用于macos10.15的MySQL 8.0.23版 我的应用程序在Next.js中,在此之前运行良好。我正在本地主机上运行它。它使用无服务器mysql进行连接: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
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,并使用了旧密码加密,看看这是否有帮助——同样的错误。已授予所有权限。通过工作台进行工作连接。我按照此指南删除了它:。我尽力从头开始。请不要把问题的答案放在问题本身。如果你成功解决了问题,请将其作为问题的答案而不是编辑。这将帮助我们看到它已被解决,因为您可以将其标记为将在搜索中弹出的解决方案。另外,一旦你在答案中加入了解决方案,请不要在标题中添加已解决的标签。谢谢大家——刚刚编辑了这篇文章