Linux MySQL误删root用户导致无法登陆的详细解决方法
展开阅读全文

首页关闭mysql,停止mysql服务;在mysql安装目录下找到my.ini;在my.ini中找到以下片段[mysqld];另起一行加入代码:

skip-grant-tables

并保存

启动mysql服务,

service mysqld restart

并登录mysql(无用户名和密码);

mysql -u root -p

进去后

use mysql;
insert into user(user,host,password,ssl_type,ssl_cipher,x509_issuer,x509_subject) values('root','localhost',PASSWORD('123456'),'','','','');
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';commit;
flush privileges;

然后退出重启mysqld即可