我试图删除root密码。通过某种方式..通过阅读这里的一篇旧文章,我设法将密码更改为我不知道的密码。我使用了这个确切的命令:
mysqladmin -u root -p password ''
输入密码和密码后,我无法再以root用户身份登录。 “”代表什么?
答案 0 :(得分:1)
来自https://www.howtoforge.com/setting-changing-resetting-mysql-root-passwords
恢复MySQL根密码
您可以通过以下五个简单步骤来恢复MySQL数据库服务器密码:
第1步:停止MySQL服务器进程。
第2步:使用--skip-grant-tables选项启动MySQL(mysqld)服务器/守护进程,以免提示输入密码。
第3步:以root用户身份连接到MySQL服务器。
步骤4:设置新的root密码。
第5步:退出并重新启动MySQL服务器。
以下是您需要为每个步骤键入的命令(以root用户身份登录):
步骤1:停止MySQL服务:
service mysql stop
输出:
Stopping MySQL database server: mysqld.
第2步:启动不带密码的MySQL服务器:
mysqld_safe --skip-grant-tables &
输出:
[1] 5988
Starting mysqld daemon with databases from /var/lib/mysql
mysqld_safe[6025]: started
第3步:使用MySQL客户端连接到MySQL服务器:
mysql -u root
输出:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 56299
Server version: 5.6.34-1 (Debian)
Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.
Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.
mysql>
第4步:设置新的MySQL root用户密码:
MySQL 5.7.5和更低版本
mysql> use mysql;
mysql> update user set password=PASSWORD("NEW-ROOT-PASSWORD") where User='root';
mysql> flush privileges;
mysql> quit
MySQL 5.7.6和更高版本
mysql> use mysql;
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD("newpass");
mysql> flush privileges;
mysql> quit
步骤5:停止MySQL服务器:
service mysql stop
输出:
Stopping MySQL database server: mysqld
STOPPING server from pid file /var/run/mysqld/mysqld.pid
mysqld_safe[6186]: ended
[1]+ Done mysqld_safe --skip-grant-tables
或者如果上面的命令未能停止MySQL,则使用此命令停止MySQL(哪个命令有效取决于MySQL版本):
killall mysqld
根据Linux发行版,输出可能会有所不同。除非报告错误,否则请不要担心。启动MySQL服务器并对其进行测试:
service mysql start
mysql -u root -p
答案 1 :(得分:0)
您似乎根本没有设置密码。尝试登录,在密码字段中不输入任何内容。仅输入用户即可。