今天用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 退出数据库.
新闻热点
疑难解答