linux下mysql的root帐号不小心删除了怎么办
发布网友
发布时间:2022-04-23 02:21
我来回答
共1个回答
热心网友
时间:2022-04-08 11:20
kill -9 mysql进程,如果你知道服务就把服务关了
mysqld_safe --skip-grant-tables
cd mysql 目录里的bin文件夹
mysql
这是你发现进入mysql的console了
好了use mysql;
select * from user;,查询发现是空的
mysql> insert into user set user='root',ssl_cipher='',x509_issuer='',x509_subject='';
(增加root用户的表)Query OK, 1 row affected, 3 warnings (0.00 sec)
(这时可能会提示某字段如ssl_cipher无默认值, 只要加上,ssl_cipher=''; 其字段如有提示依次添加就OK了)
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';
(这里面是修改root用户的权限)
quit;(退出)
启动mysql数据库,然后用root 无密码进入
update user set password=password('123456')where user='root';
flush privileges;
quit;
终于大功告成。
打开笔记看了下,我也正好温故下。追问
按你的方法弄回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';