Mysql 破坏root 账户 修复

来源:互联网 发布:05年nba总决赛数据 编辑:程序博客网 时间:2024/04/29 18:11

今天用update mysql.user set password = ‘root’where user = 'user';
把root账户的密码给改成了明文,结果连上数据库后root失去了很多数据库的grant;
通过以下方法解决:
1.net stop mysql;
2.输入命令mysqld –skip-grant-tables 此时不能关闭命令窗口,重新打开一个新的命令窗口进入到mysql安装的bin目录

3.输入mysql 命令

这时候你已经获得root账户了,你发现root的密码是明文,此时可以用正确语法
update mysql.user set password = password(‘root’) where user = 'user';
再用navicat ,root连接,解决!
还有一种情况你可能把root删除了;
1,2,3步不变
接下来
4.insert into user set user=’root’,ssl_cipher=”,x509_issuer=”,x509_subject=”;
添加完成后,对该root用户更新权限,更新权限命令如下:
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’;
执行完成后,执行quit 退出数据库.

0 0
原创粉丝点击