MySQL root 删除或丢失密码?

Posted

技术标签:

【中文标题】MySQL root 删除或丢失密码?【英文标题】:MySQL root deleted or lost password? 【发布时间】:2015-07-19 02:49:54 【问题描述】:

我失去了在 localhost/phpmyadmin 上的 root 权限,我不知道是我不小心删除了 root 还是丢失了我的 root 密码...:

- 当我在 config.inc.php 上输入没有密码的“root”时,我可以访问 localhost/phpmyadmin,但看不到我的数据库和权限。我什么都没有。

- 当我用一些可能的密码输入“root”时,它们都失败了。我尝试了所有可能的登录名和密码,我总是收到 #1045 错误(密码:“YES”)

- 在我的控制台服务器(通过 PuTTY 的 ubuntu)中,我可以输入 mysql -u root -p 并使用密码访问 MySQL...

有人可以帮帮我吗?谢谢!

【问题讨论】:

【参考方案1】:

尝试使用 debian.conf 中的用户名和密码 您可以使用

sudo cat /etc/mysql/debian.cnf 

使用命令行/putty登录

$ mysql -u debian-sys-maint -p 

mysql> GRANT ALL ON *.* TO 'root'@'localhost';
mysql> FLUSH PRIVILEGES;

登录后,您可以恢复该用户的权限。

【讨论】:

谢谢!我可以看到密码。我能用它做什么?我使用 root 用户将它添加到 config.inc.php 中,但在 localhost/phpmyadmin 中仍然得到“用户'root'@'localhost'(使用密码:YES)的访问被拒绝” 这不是 root 的密码,而是用户 debian-sys-maint 的密码。但是,您不应该将它用于您的 phpmyadmin 东西,而只是恢复您的 root 帐户。 结果:mysql> GRANT ALL ON *.* TO 'root'@'localhost'; Query OK, 0 rows affected (0.01 sec)mysql> FLUSH PRIVILEGES; Query OK, 0 rows affected (0.02 sec) 但我仍然无法获得所有权限的 root。请注意,我说的是 localhost/phpmyadmin,而不是我的服务器【参考方案2】:

我运行 Debian 8。我正在使用 Debian Wiki 安装 LAMP 堆栈,在此过程中丢失了我的 MySQL 密码,这阻止了我在最后登录到 phpmyadmin 以测试我的访问权限。我花了整个下午的大部分时间阅读其他人的经验,以便通过 phpmyadmin 访问我的 MySQL 帐户。我似乎用尽了所有的努力,然后我突然意识到我可以简单地通过

卸载 mysql-client 和 mysql-server
# aptitude remove mysql-client mysql-server

然后右转并重新安装它们。这很有效,通过这样做,我能够重置我的密码,而不会忘记它,然后使用我的新密码通过用户名“root”的 phpmyadmin 登录。根据我的阅读,这个用户名适用于 mysql/phpmyadmin 的所有安装,因此对于使用 mysql/phpmyadmin 的任何其他人来说,它应该是相同的用户名。在这一点上,我假设非 root 或从属用户和用户名很可能对于该软件的个人用户来说是唯一的。编码愉快!

【讨论】:

你真的会建议卸载数据库服务器而不推荐任何备份等吗?

以上是关于MySQL root 删除或丢失密码?的主要内容,如果未能解决你的问题,请参考以下文章

linux系统下使用xampp 丢失mysql root密码 只能远程访问,本地无法连接数据库

MySQL修改root密码的多种方法(包括丢失密码)

使用SKIP-GRANT-TABLES 解决 MYSQL ROOT密码丢失(转)

MySQL 5.6 root密码丢失

无法连接到本地 MySQL 服务器并丢失了 root 密码

[读书笔记]mysql 找回丢失的root密码