ChatGPT解决这个技术问题 Extra ChatGPT

错误 1698 (28000): 拒绝用户 'root'@'localhost' 的访问

我正在设置一个新服务器并不断遇到这个问题。

当我尝试使用 root 用户登录 MySQL 数据库时,出现错误:

错误 1698 (28000): 拒绝用户 'root'@'localhost' 的访问

我是通过终端 (SSH)、phpMyAdmin 还是 MySQL 客户端(例如 Navicat)连接都没有关系。他们都失败了。

我查看了 mysql.user 表并得到以下信息:

+------------------+-------------------+
| user             | host              |
+------------------+-------------------+
| root             | %                 |
| root             | 127.0.0.1         |
| amavisd          | localhost         |
| debian-sys-maint | localhost         |
| iredadmin        | localhost         |
| iredapd          | localhost         |
| mysql.sys        | localhost         |
| phpmyadmin       | localhost         |
| root             | localhost         |
| roundcube        | localhost         |
| vmail            | localhost         |
| vmailadmin       | localhost         |
| amavisd          | test4.folkmann.it |
| iredadmin        | test4.folkmann.it |
| iredapd          | test4.folkmann.it |
| roundcube        | test4.folkmann.it |
| vmail            | test4.folkmann.it |
| vmailadmin       | test4.folkmann.it |
+------------------+-------------------+

如您所见,用户 root 应该具有访问权限。

服务器非常简单,因为我已经尝试对此进行故障排除一段时间了。

它使用 Apache、MySQL 和 PHP 运行 Ubuntu 16.04.1 LTS (Xenial Xerus),以便它可以托管网站,以及 iRedMail 0.9.5-1,以便它可以托管邮件。

在我安装 iRedMail 之前登录 MySQL 数据库工作正常。我也试过只安装 iRedMail,但 root 也不起作用。

如何解决我的 MySQL 登录问题或如何在现有 MySQL 安装上安装 iRedMail?是的,我尝试了 Installation Tips,但在配置文件中找不到这些变量。

我点击了这个链接,第一个选项对我有用:askubuntu.com/questions/763336/…
sudo mysql_secure_installation 是解决该问题的最简单方法
在 2022 年 3 月 2 日,这是“MySQL client ERROR 1698 28000 Access denied for user”的排名第一的搜索引擎。

P
Peter Mortensen

在某些系统上,例如 Ubuntu,MySQL 默认使用 Unix auth_socket plugin

基本上这意味着:db_users 使用它,将由系统用户凭据“验证”。您可以通过执行以下操作查看您的 root 用户是否设置为这样以下:

sudo mysql -u root # I had to use "sudo" since it was a new installation

mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;

+------------------+-----------------------+
| User             | plugin                |
+------------------+-----------------------+
| root             | auth_socket           |
| mysql.sys        | mysql_native_password |
| debian-sys-maint | mysql_native_password |
+------------------+-----------------------+

正如您在查询中看到的,root 用户正在使用 auth_socket 插件。

有两种方法可以解决这个问题:

你可以设置root用户使用mysql_native_password插件你可以用你的system_user创建一个新的db_user(推荐)

选项1:

sudo mysql -u root # I had to use "sudo" since it was a new installation

mysql> USE mysql;
mysql> UPDATE user SET plugin='mysql_native_password' WHERE User='root';
mysql> FLUSH PRIVILEGES;
mysql> exit;

sudo service mysql restart

选项 2:(将 YOUR_SYSTEM_USER 替换为您拥有的用户名)

sudo mysql -u root # I had to use "sudo" since it was a new installation

mysql> USE mysql;
mysql> CREATE USER 'YOUR_SYSTEM_USER'@'localhost' IDENTIFIED BY 'YOUR_PASSWD';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'YOUR_SYSTEM_USER'@'localhost';
mysql> UPDATE user SET plugin='auth_socket' WHERE User='YOUR_SYSTEM_USER';
mysql> FLUSH PRIVILEGES;
mysql> exit;

sudo service mysql restart

请记住,如果您使用选项 #2,您必须以系统用户名 (mysql -u YOUR_SYSTEM_USER) 的身份连接到 MySQL。

注意:在某些系统(例如,Debian 9 (Stretch))上,'auth_socket' 插件称为 'unix_socket',因此相应的 SQL 命令应为:UPDATE user SET plugin='unix_socket' WHERE User='YOUR_SYSTEM_USER';

andy's comment 看来,MySQL 8.xx 更新/替换了 caching_sha2_passwordauth_socket。我没有使用 MySQL 8.xx 的系统设置来测试它。但是,上述步骤应该可以帮助您理解问题。这是回复:

MySQL 8.0.4 的一个变化是新的默认身份验证插件是“caching_sha2_password”。新的“YOUR_SYSTEM_USER”将具有此身份验证插件,您现在可以使用“mysql -u YOUR_SYSTEM_USER -p”从 Bash shell 登录,并在提示符下提供该用户的密码。不需要“更新用户设置插件”步骤。

有关 8.0.4 默认身份验证插件更新,请参阅 MySQL 8.0.4: New Default Authentication Plugin: caching_sha2_password


选项 1 对我有用。但后来我还需要运行 sudo gedit /etc/phpmyadmin/config.inc.php。然后我搜索了 AllowNoPassword 并取消了包含它的两行的注释。然后我能够以root身份登录而无需密码。
选项 2 有效。我认为创建一个新用户并使用离开 root 始终是最好的做法!
IDENTIFIED BY '' 位应该是 IDENTIFIED BY 'YOUR_PASSWD'
最后,确实有效的答案!那里有无数的答案说做mysqld_safe --skip-grant-tables等,但它没有奏效。
好的,如果 sudo mysql -u root -p 不让我进去怎么办?
P
Peter Mortensen

新版本的 MySQL 就是这样做的

在新的 MySQL 客户端中,如果安装时密码为空,则它基于 auth_socket 插件。

正确的方法是使用 sudo 权限登录 MySQL。

sudo mysql -u root -p

然后使用以下命令更新密码:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';

完成后,停止并启动 MySQL 服务器。

sudo service mysql stop
sudo service mysql start

有关完整的详细信息,您可以参考 this link


这适用于我的开发服务器作为快速修复(Ubuntu 18.04 服务器),但是,我建议查看上述接受的答案,此外,不要在生产服务器上完全安装 PHPMyAdmin。
使用“sudo”时不需要“-p”
哇,这对我有用,mysql Ver 8.0.25-0ubuntu0.20.04.1,#nitipSendal
这很容易解决了我的问题!谢谢
@AaronMurray 我目前没有这样做,但我很好奇,为什么 PHPMyAdmin 不适合生产,你会用什么来代替 GUI?或者你是说生产服务器不应该有 GUI?
R
Raoul HATTERER

不需要 sudo

数据库使用 2 个全权限帐户进行初始化:第一个是“root”,不可访问,第二个是您的用户名(使用命令 whoami 检查)。

要启用对 root 帐户的访问,您需要使用您的用户名登录

mysql -u $(whoami)

并手动更改root密码

use mysql;
set password for 'root'@'localhost' = password('YOUR_ROOT_PASSWORD_HERE');
flush privileges;
quit

以“root”身份登录

mysql -u root -p

当我使用 mysql -u $(whoami) 时,它也会给出 ERROR 1045 (28000): Access denied for user 'kaw'@'localhost' (using password: NO)
为'root'@'localhost'设置密码=密码('YOUR_ROOT_PASSWORD_HERE');这拯救了我的一天
这看起来很有希望,但我认为这根本行不通(例如 Kaumadie Kariyawasam mentioned)。什么系统,包括。操作系统版本、MySQL 等是否已尝试过?系统处于什么状态,例如 wrt。权限、用户、组等?
P
Peter Mortensen

我在通过 Windows 10 桌面上的 PuTTY 与之交互的 Debian 8 (Jessie) VM 上遇到了这个问题。

我在这里尝试了各种建议,但都没有奏效,我正在 Debian 主机上运行 MariaDB。最后我发现我无法在安全模式下启动数据库服务器,但我不需要,以下命令实际上对我有用,即允许新创建的 MySQL 用户登录 MySQL/MariaDB 服务器:

sudo service mysql restart
sudo mysql # Logs in automatically into MariaDB
use mysql;
update user set plugin='' where user='your_user_name';
flush privileges;
exit;
sudo service mysql restart # Restarts the MySQL service

如果上述方法不适合您,请按照 zetacu's post 中列出的步骤操作,然后按照我的步骤操作。

现在您应该能够使用远程终端客户端并使用以下命令安全地登录 MySQL:

mysql -u your_user_name -p

*出现提示时输入密码


就这么简单。好吧,只有第一个命令不允许执行第二个命令,所以我将对其进行调整编辑 - 请看看我是否正确......
update user set plugin='' where user='your_user_name'; 对我有用
P
Peter Mortensen

第 1 步。sudo mysql -u root -p

第 2 步。USE mysql;

第 3 步。ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'admin';

这里的“admin”是您的新密码,但您可以更改它。

第 4 步。exit

你完成了。


P
Peter Mortensen

经过数小时在这里没有任何解决方案的挣扎,这对我有用。我发现了 a YouTube 视频,其中说密码列现在称为 authentication_string

所以我能够按如下方式更改我的密码:

首先从终端进入 MySQL 客户端:

sudo mysql

然后在 mysql 中,输入 mysql> 之后的任何内容:

mysql> use mysql
mysql> update user set authentication_string=PASSWORD("mypass") where user='root';
mysql> flush privileges;
mysql> quit;

此时你已经退出了 MySQL 客户端,回到你正常的终端位置。您需要重新启动 MySQL 客户端才能使其生效。对于该类型,以下内容:

sudo service mysql restart

请参阅 this video link 以获得更好的理解。


P
Peter Mortensen

我建议删除 MySQL 连接 -

这适用于 MySQL 5.5 版。如果您的版本不同,请相应更改第一行。

sudo apt-get purge mysql-server mysql-client mysql-common mysql-server-core-5.5 mysql-client-core-5.5
sudo rm -rf /etc/mysql /var/lib/mysql
sudo apt-get autoremove
sudo apt-get autoclean

并再次安装,但这次自己设置一个 root 密码。这样会省很多力气。

sudo apt-get update
sudo apt-get install mysql-server

@ingernet 可能是因为您在再次安装时忽略了一些其他问题
@PJBrunet 可能是因为你的 Mysql 版本不同
很公平,但万能的解决方案是最好的。
“删除 MySQL 连接”是什么意思?删除安装和删除配置文件?
P
Peter Mortensen

有一个关于如何为最新的 MySQL 设置新密码的良好且定期更新的指南:

How To Install MySQL on Ubuntu 20.04

最好从上面的页面阅读整个主题,但简而言之,这可能会有所帮助。

运行安全脚本:

sudo mysql_secure_installation

Detailed information for mysql_secure_installation

之后,您可以按照以下步骤更改密码:

sudo mysql

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'password';

Detailed information for changing the root user password

如果遇到问题,可能需要重新安装 MySQL。


我输入 sudo mysql_secure_installation ,它要求我输入 mysql 的新密码(ubuntu 20.0 服务器版本)
这对我有用,谢谢。在 Ubuntu 20.04 上
P
Peter Mortensen

经过数小时的研究,我找到了我的解决方案。

停止 MySQL

sudo service mysql stop

制作 MySQL 服务目录。

sudo mkdir /var/run/mysqld

授予 MySQL 用户写入服务目录的权限。

sudo chown mysql: /var/run/mysqld

手动启动 MySQL,无需权限检查或联网。

sudo mysqld_safe --skip-grant-tables --skip-networking &

无需密码即可登录。

mysql -uroot mysql

更新密码

UPDATE mysql.user SET authentication_string=PASSWORD('YOURNEWPASSWORD'), plugin='mysql_native_password' WHERE User='root' AND Host='%';
EXIT;

关闭 MySQL。

sudo mysqladmin -S /var/run/mysqld/mysqld.sock shutdown

正常启动MySQL服务。

sudo service mysql start

P
Peter Mortensen

我也是第一次遇到同样的问题。

现在它是固定的:

首先,复制 /etc/mysql/mysql.conf.d/mysqld.cnf 文件并粘贴到 /etc/mysql/my.cnf

您可以通过以下命令执行此操作:

sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/my.cnf

现在让我们重置密码:

在终端中使用以下命令:

sudo service mysql stop
sudo service mysql start
sudo mysql -u root

现在您在 MySQL 控制台中。

然后让我们编写一些查询来重置我们的 root 密码:

USE mysql
update mysql.user set authentication_string=password('newpass') where user='root' and Host ='localhost';
update user set plugin="mysql_native_password";
flush privileges;
quit

现在我们可以清理 /etc/mysql/my.cng

在编辑器中打开上述文件并删除文件中的整行。

之后让我们重新启动 MySQL:

sudo mysql service restart

现在让我们使用新创建的密码来使用 MySQL:

sudo mysql -u root -p

最后输入您新创建的密码。


干得好!但是您的答案需要更新! /etc/mysql/my.cnf 而不是 /etc/mysql/my.cng 和服务重启它的 sudo service mysql restart
P
Peter Mortensen

This 为我工作:

mysql --user=root mysql
CREATE USER 'some_user'@'%' IDENTIFIED BY 'some_pass';
GRANT ALL PRIVILEGES ON *.* TO 'some_user'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;

即使有链接,也会有解释。例如,第一行的想法/要点是什么?为什么以前的答案不起作用?使用的是什么版本的 MySQL?在什么系统上?在什么情况下?来自 the Help Center“...总是解释为什么你提出的解决方案是合适的以及它是如何工作的”。请通过 editing (changing) your answer 回复,而不是在评论中(没有“编辑:”、“更新:”或类似的 - 答案应该看起来好像是今天写的)。
你是对的@PeterMortensen。我不知道为什么我首先发布它。它似乎与 zetacu 的第二个选项几乎相同。请让我知道您阅读了我的评论,然后我将删除我的答案。
P
Peter Mortensen

就我而言,

mysql -u root -p

Enter password:
ERROR 1698 (28000): Access denied for user 'root'@'localhost'

我确定我的密码是正确的。否则,错误代码将为 ERROR 1045 (28000): Access denied for user

所以我使用 sudo 重新登录,

sudo mysql -u root -p

这次它对我有用。请参阅the documentation

然后修改root密码,

mysql> alter user 'root'@'%' identified with mysql_native_password by 'me123';
Query OK, 0 rows affected (0.14 sec)

mysql>

然后使用 sudo /etc/init.d/mysql restart 重新启动服务器。


P
Peter Mortensen

为了第一

sudo mysql -u root -p

SHOW VARIABLES LIKE 'validate_password%';

我们会看到这样的东西:

+--------------------------------------+--------+
| Variable_name                        | Value  |
+--------------------------------------+--------+
| validate_password.check_user_name    | ON     |
| validate_password.dictionary_file    |        |
| validate_password.length             | 8      |
| validate_password.mixed_case_count   | 1      |
| validate_password.number_count       | 1      |
| validate_password.policy             | MEDIUM |
| validate_password.special_char_count | 1      |
+--------------------------------------+--------+

我们需要更改这些行:

validate_password.length validate_password.number_count validate_password.policy validate_password.special_char_count

SET GLOBAL validate_password.policy=LOW;
SET GLOBAL validate_password.length=4;
SET GLOBAL validate_password.number_count=0;
SET GLOBAL validate_password.special_char_count=0;

SHOW VARIABLES LIKE 'validate_password%';

我们会看到:

+--------------------------------------+-------+
| Variable_name                        | Value |
+--------------------------------------+-------+
| validate_password.check_user_name    | ON    |
| validate_password.dictionary_file    |       |
| validate_password.length             | 4     |
| validate_password.mixed_case_count   | 1     |
| validate_password.number_count       | 0     |
| validate_password.policy             | LOW   |
| validate_password.special_char_count | 0     |
+--------------------------------------+-------+

现在退出 MySQL 客户端:

exit;
sudo mysql -u root -p

现在你可以写你的密码了,只有四个或更多的字母。

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'new-password';

exit;

sudo mysql -u root -p

您的新密码在用户“root”的数据库中;


P
Peter Mortensen

第一步:转到文件/etc/phpmyadmin/config.inc.php,然后取消注释您找到“AllowNoPassword”的行。

第二步:登录你的MySQL默认账户

mysql -u root -p

use mysql;
update user set plugin="" where user='root';
flush privilege;

就这样!


有哪些假设?那个 phpMyAdmin 已经安装了吗?这是在什么背景下进行的?什么操作系统/发行版/版本?云? VPS?自己的服务器?自己的工作站?安装了什么?例如,文件夹 /etc/phpmyadmin 在桌面 Ubuntu 18.04 (Bionic Beaver) 上默认不存在,即使在安装了 Apache、PHP 和 MariaDB 之后也是如此。
请通过 editing (changing) your question/answer 回复,而不是在评论中(没有“编辑:”、“更新:”或类似内容 - 答案应该看起来好像是今天写的)。
P
Peter Mortensen

操作系统:Ubuntu 18.04(仿生海狸)

MySQL:5.7

将 skip-grant-tables 添加到文件 mysqld.cnf 的末尾复制 my.cnf 文件 sudo cp /etc/mysql/mysql.conf.d/mysqld.cnf /etc/mysql/my.cnf 重置密码(base ) ➜ ~ sudo service mysql stop (base) ➜ ~ sudo service mysql start (base) ➜ ~ mysql -uroot 欢迎来到 MySQL 监视器。命令以 ; 结尾或\g。您的 MySQL 连接 ID 是 2 服务器版本:5.7.25-0ubuntu0.18.04.2 (Ubuntu) 版权所有 (c) 2000, 2019, Oracle 和/或其附属公司。版权所有。 Oracle 是 Oracle Corporation 和/或其附属公司的注册商标。其他名称可能是其各自所有者的商标。输入“帮助”;或 '\h' 寻求帮助。键入 '\c' 以清除当前输入语句。 mysql> use mysql Reading table information for completion of table and column names 您可以关闭此功能以获得更快的启动 -A 数据库已更改,3个警告 mysql> update mysql.user set authentication_string=password('newpass') where user ='root' 和主机 ='localhost';查询正常,1 行受影响,1 个警告(0.00 秒)匹配行:1 更改:1 警告:1 mysql> update user set plugin="mysql_native_password";查询正常,0 行受影响(0.00 秒)匹配行:4 更改:0 警告:0 mysql> 刷新权限;查询 OK,0 行受影响(0.00 秒) mysql> quit Bye 从 my.cnf(基础)中删除 skip-grant-tables ➜ ~ sudo emacs /etc/mysql/mysql.conf.d/mysqld.cnf(基础)➜ ~ sudo emacs /etc/mysql/my.cnf (base) ➜ ~ sudo service mysql restart 打开 MySQL 客户端 (base) ➜ ~ mysql -uroot -ppassword mysql: [警告] 在命令行界面使用密码可能不安全.欢迎使用 MySQL 监视器。命令以 ; 结尾或\g。您的 MySQL 连接 ID 是 3 服务器版本:5.7.25-0ubuntu0.18.04.2 (Ubuntu) 版权所有 (c) 2000, 2019, Oracle 和/或其附属公司。版权所有。 Oracle 是 Oracle Corporation 和/或其附属公司的注册商标。其他名称可能是其各自所有者的商标。输入“帮助”;或 '\h' 寻求帮助。键入 '\c' 以清除当前输入语句。 mysql> 检查密码策略 mysql> 选择@@validate_password_policy; +----------------------------+ | @@validate_password_policy | +----------------------------+ |中 | +----------------------------+ 1 行 in set (0.00 sec) mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------+--------+ |变量名 |价值 | +--------------------------+--------+ | validate_password_dictionary_file | | |验证密码长度 | 8 | | validate_password_mixed_case_count | 1 | | validate_password_number_count | 1 | |验证密码政策 |中 | | validate_password_special_char_count | 1 | +----------------------------------------+--------+ 6 rows in set (0.08 sec)!更改 validate_password 的配置 mysql> set global validate_password_policy=0;查询正常,0 行受影响(0.05 秒) mysql> 设置全局 validate_password_mixed_case_count=0;查询正常,0 行受影响(0.00 秒) mysql> set global validate_password_number_count=3;查询成功,0 行受影响(0.00 秒) mysql> 设置全局 validate_password_special_char_count=0;查询正常,0 行受影响(0.00 秒) mysql> set global validate_password_length=3;查询 OK,0 行受影响(0.00 秒) mysql> SHOW VARIABLES LIKE 'validate_password%'; +--------------------------------------+--------+ |变量名 |价值 | +--------------------------------------+--------+ | validate_password_dictionary_file | | |验证密码长度 | 3 | | validate_password_mixed_case_count | 0 | | validate_password_number_count | 3 | |验证密码政策 |低 | | validate_password_special_char_count | 0 | +----------------------------------------+--------+ 6 行在集合中(0.00 秒)

笔记

你应该知道你的错误是由什么引起的?验证密码策略?

您应该已经决定重置密码以填写政策或更改政策。


P
Peter Mortensen

这适用于 MySQL 版本 8.0.26 和 Ubuntu 20.04 (Focal Fossa)。

sudo mysql -u root

mysql> USE mysql;
mysql> SELECT User, Host, plugin FROM mysql.user;

+------------------+-----------+-----------------------+
| User             | Host      | plugin                |
+------------------+-----------+-----------------------+
| debian-sys-maint | localhost | caching_sha2_password |
| mysql.infoschema | localhost | caching_sha2_password |
| mysql.session    | localhost | caching_sha2_password |
| mysql.sys        | localhost | caching_sha2_password |
| root             | localhost | auth_socket           |
+------------------+-----------+-----------------------+

mysql> UPDATE user SET

plugin='caching_sha2_password' WHERE User='root';

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'you_mysql_password';
mysql> FLUSH PRIVILEGES;
mysql> exit;

sudo service mysql restart

P
Peter Mortensen

对于在 macOS 上安装最新 MariaDB 并遵循 MariaDB 文档中的 this tutorial 的用户,请运行:

sudo mariadb-secure-installation

而不仅仅是给出的 mariadb-secure-installation 命令。否则,尽管出现错误提示,但没有运气:

In order to log into MariaDB to secure it, we'll need the current
password for the root user. If you've just installed MariaDB, and
haven't set the root password yet, you should just press enter here.

Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Enter current password for root (enter for none):
ERROR 1698 (28000): Access denied for user 'root'@'localhost'
Enter current password for root (enter for none):
Aborting!

P
Peter Mortensen

这也发生在我身上。问题在于 Linux 发行版已经附带的 MySQL 存储库。因此,当您简单地执行以下操作时:

sudo apt install mysql-server

它从他们的默认存储库安装 MySQL,这会产生这个问题。因此,要克服这个问题,您需要卸载已安装的 MySQL:

sudo apt remove mysql* --purge --auto-remove

然后从官方 MySQL 网站 MySQL APT repository 下载 MySQL 存储库。

按照他们的文档了解如何添加存储库并安装它。这没有问题。

同样作为 answered by zetacu,您可以验证 MySQL root 用户现在确实使用 mysql_native_password 插件。


P
Peter Mortensen

我已经完成了以下步骤来解决这个问题。

使用 (sudo mysql -p -u root) 登录到您机器中的 MySQL 并点击以下查询。

CREATE USER 'jack'@'localhost' IDENTIFIED WITH mysql_native_password BY '<>';授予所有特权。 TO 'jack'@'localhost';从 mysql.user WHERE user = 'root' 中选择用户、插件、主机; +--------+-------------+------------+ |用户 |插件 |主持人 | +--------+-------------+------------+ |根 | auth_socket |本地主机 | +--------+-------------+------------+ ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '<> ';同花顺特权;

如果您仍然收到错误,请尝试一次。我希望这段代码对你有很大帮助!!


P
Peter Mortensen

对于在此处尝试解决方案但没有任何效果的任何人,请确保您使用的是正确的命令,sudo sudo mysql -u root -p 而不是 mysql mysql -u root -p

您需要输入两个密码,一个是当前用户,一个是 root 用户。


这确实令人困惑。它是系统用户名还是 MySQL 用户名(或者它们可能以某种方式连接)?您能否在 your 答案中更清楚地说明?例如,“根”指的是什么? (但没有“编辑:”、“更新:”或类似的 - 答案应该看起来好像是今天写的。)
P
Peter Mortensen

您想使用 root 用户访问 MySQL,但您没有提供 root 的正确密码。

如果您需要为 root 设置新密码,MySQL 的网站上有很好的文档说明如何操作:B.3.3.2 How to Reset the Root Password

我不会在这里展示这个过程,因为上面链接上的 MySQL 文档清晰简洁。


感谢 anwser,但我无法让它工作,所以我选择安装 iRedMail 和 pgSQL 数据库。
罗杰福克曼!很高兴知道您以任何方式解决了您的问题。
链接中断。 mysql.com 多年来有许多断开的链接。您应该在此处复制并粘贴相关信息,只要您注明来源即可。