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

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


当前回答

MySQL 5.7及以上版本在MySQL日志文件中保存root。

请试试这个:

sudo grep 'temporary password' /var/log/mysqld.log

其他回答

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

除非包管理器要求您在安装期间输入根密码,否则默认的根密码是空字符串。要连接到新安装的服务器,输入:

shell> mysql -u root --password=
mysql>

要更改密码,请返回unix shell并输入:

shell> mysqladmin -u root --password= password root

新密码为“root”。现在连接到服务器:

shell> mysql -u root --password=
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

哎呀,密码改了。使用新的根:

shell> mysql -u root --password=root
...
blah, blah, blah : mysql welcome banner
...
mysql> 

宾果!做一些有趣的事情

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

莫里斯

我用另一种方法解决了这个问题,这对一些人来说可能更简单。

我这样做是因为我尝试在安全模式下启动,但无法连接到错误: ERROR 2002 (HY000):无法通过socket '/var/run/mysqld/mysqld连接到本地MySQL服务器。袜子”(2)

我所做的就是以root用户正常连接:

$ sudo mysql -u root

然后我创建了一个新的超级用户:

mysql> grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
mysql> quit

然后以myuser身份登录

$ mysql -u myuser -p -h localhost

尝试更改密码没有给我任何错误,但对我没有任何帮助,所以我放弃并重新创建根用户

mysql> drop user 'root'@'localhost;
mysql> mysql> grant all privileges on *.* to 'root'@'localhost' identified by 'mypassword' with grant option;

根用户现在正在使用新密码

MySQL 5.7及以上版本在MySQL日志文件中保存root。

请试试这个:

sudo grep 'temporary password' /var/log/mysqld.log

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

nano ~/.my.cnf