做了一些privilege相关的操作,root用户突然找不到系统的数据库了,失去了root用户的权限,找了好久才解决:
sudo /etc/init.d/MysqL stop
启动安全模式数据库
MysqLd_safe --skip-grant-tables &
> use MysqL;
> select user,host from user;
updateuserset `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',`Create_tablespace_priv`='Y' whereuser='root'andhost='localhost';
最后重启数据库 /etc/init.d/MysqL restart
如果碰到忘记root密码也可以采用上面的方式登录root账号,
update
user
set
authentication_string=
password
(
'new password'
)
where
user
=
'root';