我不知道我的MySQL根密码;我怎么才能知道呢?是否有存储此密码的文件?

我正在跟踪这个链接,但我在本地没有directadmin目录。


当前回答

在你的“主机名”中。在MySQL工作的数据文件夹中的err文件中,尝试寻找以以下开头的字符串:

“为roor@localhost生成临时密码”

你可以使用

less /mysql/data/dir/hostname.err 

然后使用斜杠命令,后面跟着要查找的字符串

/"A temporary password"

然后按n,进入下一个结果。

其他回答

在Windows系统下,请按照以下步骤重置密码

从任务管理器中停止Mysql服务 创建一个文本文件并粘贴下面的语句

MySQL 5.7.5及以前版本: SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');


MySQL 5.7.6及以上版本: ALTER USER 'root'@'localhost'

保存为mysql-init.txt,并将其放在“C”盘。 打开命令提示符并粘贴以下内容

C:\\ > mysqld——init-file=C:\\mysql-init.txt

你可以查看mysql根密码,好吧,我已经在mysql 5.5上尝试过了,所以不知道其他新版本是否工作良好

nano ~/.my.cnf

这里提供的答案似乎对我不起作用,事实证明,诀窍是: ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password

(完整的答案在这里:在MySQL 5.7用" plugin: auth_socket "修改用户密码)

这招对我很管用:

在终端类型上执行如下操作

$ sudo mysql -u root -p

Enter password://直接按Enter

mysql >

适用于Windows 10下的MySQL 5.5

您无法找到密码,因为它在表中是散列的,所以重置它是唯一的选择。

Lokesh kumar Chippada提供的通过.txt文件导入新密码脚本的解决方案对我不起作用。我发现命令提示符在启动导入后冻结了。

我在my.ini文件中添加了skip-grant-tables,就像tonycoupland在这篇SO帖子上的答案一样。

然后我就可以从命令行登录到mysql了

$ > mysql

然后在mysql中

mysql> FLUSH PRIVILEGES;

mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');

请参见mysql开发页面的“B.3.3.2.3重置Root密码:通用说明”。我现在已经从my.ini文件中删除了skip-grant-tables,并且我可以使用我创建的新密码作为根用户登录。