访问 Mysql 时出现问题

访问 Mysql 时出现问题

我已经多次安装并重新安装了 Mysql,但是程序总是拒绝我访问,并说:

错误 1045(28000):拒绝用户“root”@“localhost”访问(使用密码:是)

即使我使用真实密码,也无法进入 Mysql。有什么建议吗?我认为 Grants 存在问题,但我无法看到它们,因为它们在 Mysql 中。

答案1

如果您从 Ubuntu 存储库安装了 mySQL,则无法像往常一样进行 root 用户身份验证mysql -u root -p

相反,您必须输入sudo mysql,终端将提示您输入 sudo 密码。

这应该可以解决您的问题并允许您连接 mySQL。

我最近遇到了同样的问题,我更喜欢使用通常的mysql -u root -p方法(也更容易配置一些工具,例如 mySQL Workbench、DBeaver...)。以下是我完成此操作所遵循的步骤:

连接到 mySQL

sudo mysql

创建管理员帐户

CREATE USER 'admin'@'localhost' IDENTIFIED BY 'admin';
GRANT ALL PRIVILEGES ON *.* TO 'admin'@'localhost' WITH GRANT OPTION;

您可以在此处停止并使用管理员用户代替 root。他们基本上具有相同的访问权限。

如果您希望返回 root 用户,请按照以下步骤操作:退出 root 连接并使用新的管理员帐户重新连接:

quit; /* mySQL will tell you "Bye" */
mysql -u admin -p

删除 root 用户

drop user root@localhost;

使用通常的身份验证方法重新创建 root 用户

CREATE USER 'root'@'localhost' IDENTIFIED BY 'the_password_you_wish_here';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

然后断开连接,重新用root连接并删除admin账户

quit; /* mySQL will tell you "Bye" */
mysql -u root -p
drop user admin@localhost;

现在你可以连接到mysql -u root -p

答案2

尝试一步一步地首先从您的机器中删除 mysql,然后安装它, sudo apt-get install mysql-server您将要求设置密码。

sudo apt-get remove --purge mysql && sudo apt-get purge mysql && sudo apt-get autoremove && sudo apt-get autoclean && sudo apt-get remove dbconfig-mysql && sudo apt-get dist-upgrade && sudo apt-get install mysql-server

相关内容