开胜科技-网站建设专家

售前咨询:点击这里给我发消息 点击这里给我发消息 

技术支持:点击这里给我发消息 点击这里给我发消息 

售后服务:点击这里给我发消息 点击这里给我发消息 

电话:0531-89004900

手机:18660105139

E-mail:service@openwin.cn

网络推广

mysql 错误的将root用户权限关闭之解决办法

发布时间:2016-11-24 13:16:51      浏览次数:0

 

前言

在笔者的误操作情况下,误将mysql的root用户权限给全部关闭,那么这下可糟透了,服务器中的整个mysql全部无法连接,提示无权限操作,更糟糕的是服务器是win 的服务器,在使用命令行的过程中,毕竟和linux不能苟同,但是笔者还是硬着头皮把这个事给办了……

下面笔者将心得分享给大家,望大家能够共勉……

实战

1. 先登录windows服务器

2. 关闭mysql服务器(官比方发可使用命令net stop mysql或进入服务,找到mysql,然后右键停止服务)

\


3. 找到mysql安装盘,通过cmd进入bin目录
\



4. 跳出mysql权限限制,跳出限制之后,就可以运行任意mysql语句,使用到的语句是 

 

在运行过程中,有可能会遇到警告;那么我们怎么解决呢

 

解决办法是找到my.ini 文件,在[mysqld]下面加上 

explicit_defaults_for_timestamp = true

然后启动一下mysql即可,(然后再按照第一步开始执行)

警告如下图:

 

[Warning] TIMESTAMP with implicit DEFAULT value is deprecated.Please use --explicit_defaults_for_timestamp server option (seedocumentation for more details)

5.随后进入连接mysql

> mysql -h localhost -u root -p

输入密码
\



6. 进行mysql语句操作(提前看下数据库 show datatables  查看下是否已经拥有了权限,此时一般拥有了所有表的权限)


update user set  
  `Select_priv` = 'Y',
  `Insert_priv` = 'Y',
  `Update_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',
  `Alter_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',
  `Event_priv` = 'Y',
  `Trigger_priv` = 'Y'
  where user='root' and host='localhost'
  //然后重启下mysql,就拥有了权限了,如果您是忘记密码,同样的道理


开胜科技微信(openwin-cn)