按照下面的命令操作后,我收到此错误。此时,它不允许我输入密码 - 除了 Enter 之外没有其他键可用。Enter 只会给我同样的错误。我现在如何设置密码?
顺便说一下,我使用的是 Cent OS 7。
# sudo systemctl start mariadb.service
# sudo systemctl enable mariadb.service
# sudo mysql_secure_installation
注意:建议所有生产使用的 MariaDB 服务器都运行此脚本的所有部分!请仔细阅读每个步骤!
为了登录 MariaDB 并保证其安全,我们需要 root 用户的当前密码。如果您刚刚安装了 MariaDB,并且尚未设置 root 密码,则密码将为空,因此您只需在此处按 Enter 即可。
输入 root 的当前密码(输入则表示无):错误 1045(28000):拒绝用户“root”@“localhost”访问(使用密码:是)输入 root 的当前密码(输入则表示无):
答案1
您似乎已被锁定。您可以按照以下步骤重置 MariaDB 密码:
- 停止 MySQL
sudo systemctl stop mariadb
- 启动数据库而不加载授权表或启用网络:
sudo mysqld_safe --skip-grant-tables --skip-networking &
- 现在您可以以 root 用户身份连接到数据库,无需输入密码。
mysql -u root
- 您现在应该进入 mysql 提示符。现在我们可以实际更改 MariaDB 根密码。
对于 MySQL 5.7.6 及更新版本以及 MariaDB 10.1.20 及更新版本,使用以下命令。
ALTER USER 'root'@'localhost' IDENTIFIED BY 'new_password';
对于 MySQL 5.7.5 及更早版本以及 MariaDB 10.1.20 及更早版本,使用:
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('new_password');
确保将 new_password 替换为您选择的新密码。
完成后,重新启动 MySQL。您应该能够使用新密码登录。
谢谢。