mysql误删除root用户或者忘记root密码时的解决办法(转)

转载 2011年01月09日 13:13:00

一不小心删除了mysql的root用户,在网上找了很多办法都没有解决,由于mysql数据库比较多,重装又太麻烦,所以一直在努力尝试各种方法,最后终于成功了。步骤如下:

1、先结束mysqld进程

#killall mysqld

不加载grant_tables而进入mysql
#mysqld_safe --skip-grant-tables &


进入mysql
#/usr/local/mysql/bin/mysql

mysql> use mysql
Database changed

mysql> select * from user;
Empty set (0.00 sec)

mysql> insert into user set user='root',ssl_cipher='',x509_issuer='',x509_subject='';               

(增加root用户的表)
Query OK, 1 row affected, 3 warnings (0.00 sec)
(这时可能会提示某字段如ssl_cipher无默认值, 只要加上,ssl_cipher=''; 其字段如有提示依次添加就OK了 )

update user set Host='localhost',select_priv='y', insert_priv='y',update_priv='y',Alter_priv='y',delete_priv='y',create_priv='y',drop_priv='y',reload_priv='y',shutdown_priv='y',Process_priv='y',file_priv='y',grant_priv='y',References_priv='y',index_priv='y',create_user_priv='y',show_db_priv='y',super_priv='y',create_tmp_table_priv='y',Lock_tables_priv='y',execute_priv='y',repl_slave_priv='y',repl_client_priv='y',create_view_priv='y',show_view_priv='y',create_routine_priv='y',alter_routine_priv='y',create_user_priv='y' where user='root';                                        

(这里面是修改root用户的权限)


mysql> quit;


2、带权限正常启动mysql
#service mysqld start

3、使用root用户登录(如果有phpadmin就直接用root空密码登录再修改密码或权限就可以了)

#mysql -u root -p

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

Query OK, 1 row affected (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 0

mysql> flush privileges;

mysql> quit

试下没有密码时进入mysql
#mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)


使用密码进入mysql
#mysql -u root -p 123456
Welcome to the MySQL monitor. Commands end with ; or /g.
Your MySQL connection id is 25 to server version: 4.1.20

Type 'help;' or '/h' for help. Type '/c' to clear the buffer.

mysql>

没有亲自验证,自己遇到过这个问题,发现这个文章前就重装了。有此问题的可以试试。

mysql误删除root用户或者忘记root密码时的解决办法

mysql误删除root用户或者忘记root密码时的解决办法 mysql误删除root用户或者忘记root密码时的解决办法 一不小心删除了mysql的root用户,在网上找了很多办法都没有...
  • vempire
  • vempire
  • 2012年12月17日 11:14
  • 295

忘记了Mysql的root用户的密码,怎么办?

 一.安全修改方法Windows用户:如果你此时登录到Windows使用的不是Adminstrator用户,先“注销”后,切换到Adminstrator用户,再进行下面的步骤!1.如果Mysql正在运...
  • jacklvkena
  • jacklvkena
  • 2007年12月25日 16:56
  • 1783

零基础教你Ubuntu下忘记MySQL的root密码解决方法

第0步: ubuntu的VI编辑器模式,按上下左右以及滚动滑轮显示ABCD字母 sudo apt-get install vim ,查看是否安装 第1步: sudo vi /etc/mysql/m...
  • wszll_Alex
  • wszll_Alex
  • 2015年05月22日 22:00
  • 1868

ubuntu 忘记root用户及密码的恢复方法

转载http://www.hackbase.com/tech/2009-09-04/55706.html         http://blog.csdn.net/leisure512/articl...
  • k41497016
  • k41497016
  • 2012年05月10日 23:26
  • 1089

Windows下忘记MySQL root密码解决方法

Windows下忘记MySQL密码的解决办法网上好多好多,可是,我发现,如果采用Windows服务启动的时候,安装网上通过命令行修改root密码的方法行不通。经过实验,发现,Windows的服务运行的...
  • yin138
  • yin138
  • 2016年05月11日 11:18
  • 2178

数据库之mac上mysql root密码忘记或权限错误的解决办法

以下方法亲测有效,过程使用的工具只有mac的终端无需workbench当我们通过终端连接mysql数据库时候我们会看到这样的信息ERROR 1045: Access denied for user: ...
  • u014410695
  • u014410695
  • 2016年02月03日 16:39
  • 13311

Windows下Mysql5.7忘记root密码的解决方法

1、 首先检查mysql服务是否启动,若已启动则先将其停止服务,可在开始菜单的运行,使用命令:net stop mysql 打开第一个cmd窗口,切换到mysql的bin目录,运行命令:mysqld ...
  • Coder_Jeremy
  • Coder_Jeremy
  • 2017年06月29日 21:01
  • 2785

CentOS7下mysql5.7忘记root密码的处理方法

1.vi /etc/my.cnf 2.在[mysqld]中添加 skip-grant-tables 例如: [mysqld] skip-grant-tables dat...
  • huanghaifei922
  • huanghaifei922
  • 2017年01月21日 09:55
  • 7408

mac上mysql root 密码忘记或权限错误的解决办法

这几天在折腾mantis发现总是连接mysql出错,就随手改了root权限,导致登录不上。 以下是还原root权限和更改root密码的最便捷方法。 1:装mysql workbench 。可视化界...
  • loseleo
  • loseleo
  • 2013年03月21日 21:46
  • 16402

windows下mysql5.7忘记root密码后的解决方法

添加windows下mysql服务 以管理员身份打开cmd,执行 mysqld --install net stop mysql # 忘记密码找回 my.ini 的mysqld下添加 sk...
  • yonggeit
  • yonggeit
  • 2017年05月30日 20:20
  • 2311
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:mysql误删除root用户或者忘记root密码时的解决办法(转)
举报原因:
原因补充:

(最多只允许输入30个字)