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

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


当前回答

适用于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,并且我可以使用我创建的新密码作为根用户登录。

其他回答

你找不到它。它存储在一个数据库中,您需要根密码才能访问该数据库,即使您以某种方式获得了访问权限,它也会使用单向散列进行散列。您可以重置:如何重置Root用户密码

除了其他答案外,在cpanel安装中,mysql根密码存储在一个名为/root/.my.cnf.的文件中(cpanel服务在更改时将其重置,所以这里的其他答案不会有帮助)

这招对我很管用:

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

$ sudo mysql -u root -p

Enter password://直接按Enter

mysql >

根据MySql版本的不同,该过程有所不同。按照您的版本所描述的步骤进行操作:

HINTS - Read before the instructions page for your version of MySql* In step 5: Instead of run CMD, create a shortcut on your desktop calling CDM.exe. Then right-click on the shortcut and select "Execute as Administrator". In step 6: Skip the first proposed version of the command and execute the second one, the one with the --defaults-file parameter Once you execute the command, if everything is ok, the CMD window remains open and the command of step 6 continues executing. Simply close the window (click 'x'), and then force close MySQl from the Task Manager. Delete the file with the SQL commands, and start again MySQL. The password must be changed now.

5.0 http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

5.1 http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html

…只需在链接中更改版本(5.5,5.6,5.7)

您无法查看散列后的密码;你唯一能做的就是重置!

停止MySQL:

sudo service mysql stop

or

$ sudo /usr/local/mysql/support-files/mysql.server stop

以安全模式启动:

$ sudo mysqld_safe --skip-grant-tables

(上面一行是整个命令)

这将是一个持续的命令,直到进程结束,所以打开另一个shell/终端窗口,登录时不需要密码:

$ mysql -u root

mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';

MySQL 5.7及以上版本:

mysql> use mysql; 
mysql> update user set authentication_string=password('password') where user='root'; 

退出MySQL命令行:

mysql> exit 

在正常模式下重启MySQL,首先停止安全模式实例:

$ mysqladmin -u root -p shutdown   # (when prompted, enter the new password just set)
$ sudo service mysql start

or

$ sudo /usr/local/mysql/support-files/mysql.server start

你的新密码是“password”。