我不小心删除了phpMyAdmin中的管理员帐户。如何重新授予root @ localhost权限?

时间:2013-01-24 23:37:35

标签: mysql

我不小心在phpMyAdmin中删除了管理员帐户。现在,我什么都做不了。但是,我可以访问控制台,它允许我登录。如何重新授予root @ localhost权限?

5 个答案:

答案 0 :(得分:3)

有一种简单易行的方法可以解决这个问题。你需要在你的xampp文件夹中停止你的mysql和转到mysql文件夹。然后在命令提示符下运行以下命令。

  

C:\ XAMPP \ MySQL的> resetroot.bat

如果您没有resetroot.bat,请在此处复制该内容表单。

@echo off
echo USE mysql; >resetroot.sql
echo. >>resetroot.sql
echo REPLACE INTO user VALUES ('localhost', 'root', '', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, '', ''); >>resetroot.sql
echo REPLACE INTO user VALUES ('127.0.0.1', 'root', '', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, '', ''); >>resetroot.sql
echo REPLACE INTO user VALUES ('localhost', 'pma', '', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', '', '', '', '', 0, 0, 0, 0, '', ''); >>resetroot.sql

bin\mysqld.exe --no-defaults --bind-address=127.0.0.1 --bootstrap --console --standalone <resetroot.sql >nul
del resetroot.sql
echo.
echo Passwoerter fuer Benutzer "root" und "pma" wurden geloescht.
echo Passwords for user "root" and "pma" were deleted.
echo.
pause

将此文件用作resetroot.sql

USE mysql;

REPLACE INTO user VALUES ('localhost', 'root', '', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, '', ''); 
REPLACE INTO user VALUES ('127.0.0.1', 'root', '', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', 'Y', '', '', '', '', 0, 0, 0, 0, '', ''); 
REPLACE INTO user VALUES ('localhost', 'pma', '', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', 'N', '', '', '', '', 0, 0, 0, 0, '', ''); 

答案 1 :(得分:2)

来自mysql文档

创建帐户,并提供权利

mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
    ->     WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
    ->     WITH GRANT OPTION;
mysql> CREATE USER 'admin'@'localhost';
mysql> GRANT RELOAD,PROCESS ON *.* TO 'admin'@'localhost';
mysql> CREATE USER 'dummy'@'localhost';

Adding User

<强>更新

尝试从此答案运行脚本:
Restoring Deleted 'Root' User and Password For MySQL

答案 2 :(得分:1)

本手册介绍了删除(或忘记)root帐户密码时如何设置或重置密码:

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

答案 3 :(得分:0)

我不小心删除了xampp上的root(管理员)帐户,并失去了特权。终于,我找到了出路:

  • 卸载xampp
  • 安装xampp的另一个版本。

宾果!再次设置您的root特权。

注意:您无法找回已删除根(admin)帐户的旧数据库。必须安装另一个版本。重新安装相同版本的xampp将无济于事。

答案 4 :(得分:0)

这对我有用

  1. 下载xampp服务器的relevent protable版本
  2. 找到xampp/mysql/data/mysql目录,并将其替换为可升级版本(zip文件)中的目录

我认为这会重置mysql数据库。因此,这不会影响任何其他数据库或您的数据。